{
    "openapi": "3.0.3",
    "info": {
        "title": "Resi Sites API",
        "version": "1.0.0",
        "description": "The website delivery API. Everything a Next.js property website or centralized leasing website reads from Resi, scoped to one website. It is separate from the property-centric `/api/v1`, which is unchanged.\n\n**Authentication.** Every request needs `Authorization: Bearer <token>`. A token is scoped to exactly one website (`website:{id}:deliver`, or `website:{id}:preview` for draft content) and must belong to the website's account; an account API token, whose ability is the wildcard `*`, is refused. Call it from the site's server; the token must never reach a browser.\n\n**Which website.** Resolved from the `Host` header, or from `X-Resi-Website` when Host is meaningless (CI builds). The website never appears in the URL. The resolved website and the token's website must agree, otherwise `403`.\n\n**Addressing.** Properties, floor plans and units are addressed by slug and found only among the website's own enabled properties. Anything else is a `404` identical to a record that does not exist. UUIDs are not accepted in paths.\n\n**Envelope.** Every success is `{data, meta}`. Keys are snake_case. Lists add `meta.pagination`. Errors are `{message}` and, for validation, `{message, errors}`.\n\n**Caching.** Every GET sends an `ETag` and honours `If-None-Match` with `304`. `Cache-Control` is `private, no-cache`. `meta.cache.tags` names what the payload was built from and `meta.cache.ttl` suggests how long to hold it. Resi sends a signed cache-clear webhook naming the tags that changed.\n\n**Cache-clear webhook.** When data a website rendered changes, Resi POSTs to the site (default `https://{primary domain}/api/resi/cache`, or the URL in the website's `cache_webhook_url` setting; https to a public host only, and a redirect is never followed) with `X-Resi-Event: cache.invalidate` and a JSON body: `{\"event\": \"cache.invalidate\", \"website_id\": \"...\", \"tags\": [\"inventory:...\"], \"paths\": [], \"timestamp\": 1789760000}`. Only a site built to receive it is sent one: a site whose provisioning wrote it `RESI_CACHE_WEBHOOK_SECRET` (every site scaffolded from the current template), or one whose `cache_webhook_url` setting names a receiver. Sites on earlier templates are never sent it. Verify it before acting: `X-Resi-Signature` is `sha256=` followed by the HMAC-SHA256 of the raw request body, keyed with the site's `RESI_CACHE_WEBHOOK_SECRET` (written to the site's environment at provisioning; unique per website). Reject a body whose `timestamp` is more than a few minutes old, since the timestamp is inside the signed bytes precisely so a replay cannot refresh it. Then revalidate every cached response carrying one of `tags`. Answer 2xx; anything else is retried up to five times with backoff. Changes within about fifteen seconds are sent as one webhook. A change Resi does not detect is picked up when `meta.cache.ttl` runs out.\n\n**Tags.** `site`, `paths`, `property:{id}`, `inventory:{property_id}`, `entries:{type}`, `integrations:{property_id}`, `lead-sources:{property_id}`, `forms:{property_id}`.\n\n**Filtering.** List endpoints accept documented filters, `sort` (`-` prefix for descending, comma-separated) and `page` / `per_page`. A value that cannot be applied is a `422`, never an ignored filter.\n\n**Compatibility.** Additive changes ship continuously: new endpoints, new optional parameters, new keys. Removing or retyping a key is a breaking change and needs an ADR."
    },
    "servers": [
        {
            "url": "{baseUrl}",
            "variables": {
                "baseUrl": {
                    "default": "https://v2.getresi.com",
                    "enum": [
                        "https://v2.getresi.com"
                    ]
                }
            }
        }
    ],
    "security": [
        {
            "websiteToken": []
        }
    ],
    "tags": [
        {
            "name": "Bootstrap",
            "description": "What a build reads first."
        },
        {
            "name": "Content",
            "description": "Content entries."
        },
        {
            "name": "Properties",
            "description": "The website's properties."
        },
        {
            "name": "Inventory",
            "description": "Floor plans, units and availability across the website's properties."
        },
        {
            "name": "Attribution",
            "description": "Lead sources and the rules that pick one for a visit."
        },
        {
            "name": "Integrations",
            "description": "The third-party tools a property's pages embed."
        },
        {
            "name": "Conversion",
            "description": "Forms, leads, tours and analytics events."
        }
    ],
    "paths": {
        "/api/sites/v1/site": {
            "get": {
                "operationId": "getSite",
                "summary": "Site manifest",
                "description": "Everything site-wide a build needs in one call: domains, tracking, redirects, URL patterns and a card per property (at most 500; `meta.properties` counts them). Tags: `site`, plus `property:{id}` and `inventory:{id}` for each property.",
                "tags": [
                    "Bootstrap"
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Site"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/SiteMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/paths": {
            "get": {
                "operationId": "listPaths",
                "summary": "Renderable paths",
                "description": "Every path the website renders, with `updated_at`, for static generation and sitemaps. Listed in a fixed order: properties, floor plans, units, entries. Grouped floor plans are listed once, under their primary. Tag: `paths`.",
                "tags": [
                    "Bootstrap"
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Limit to one or more types, comma-separated: `property`, `floor_plan`, `unit`, `entry`. An unknown type is a 422."
                    },
                    {
                        "$ref": "#/components/parameters/Page"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 2000,
                            "default": 500
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PathItem"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginatedMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Unknown `type`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/resolve": {
            "get": {
                "operationId": "resolvePath",
                "summary": "Resolve a path",
                "description": "What serves this path: a content entry, a property, a floor plan, a unit, a redirect, or nothing (404 with `type: not_found`). Checked in that order, so a path something occupies always wins over a redirect.",
                "tags": [
                    "Bootstrap"
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "path",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Resolution"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/content-types": {
            "get": {
                "operationId": "listContentTypes",
                "summary": "Content types",
                "tags": [
                    "Content"
                ],
                "description": "The content types this website renders, each with the URL pattern and template this website uses for it and the field definitions that shape an entry's `data`. A library type the website has not opted into is not listed. Ordered by plural name. Tag: `site`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ContentType"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/entries/{type}": {
            "get": {
                "operationId": "listEntries",
                "summary": "List entries of a content type",
                "description": "`type` is the content type KEY, not an id. Tag: `entries:{type}`.",
                "tags": [
                    "Content"
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "term",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Comma-separated term slugs or ids; an entry matching any is returned."
                    },
                    {
                        "name": "property",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "A property slug on this website. Returns entries written for that property. Unknown slug is a 404."
                    },
                    {
                        "$ref": "#/components/parameters/Page"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Entry"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/EntryListMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/entries/{type}/{slug}": {
            "get": {
                "operationId": "getEntry",
                "summary": "One entry",
                "description": "The entry, or a redirect when the slug was renamed. Tag: `entries:{type}`.",
                "tags": [
                    "Content"
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EntryOrRedirect"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/properties": {
            "get": {
                "operationId": "listProperties",
                "summary": "List properties",
                "tags": [
                    "Properties"
                ],
                "description": "The website's enabled properties as cards, in the website's order unless sorted. The same card the manifest carries. On a property website this is the one property. Sort keys: `name`, `order`. Tags: `site`, plus `property:{id}` and `inventory:{id}` for each property on the page. When a rent filter is used, anything whose price the property's display settings would hide is left out of the results, so a filter can never reveal a hidden price.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Name contains."
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Group id. Cascades to the group's descendants. Unknown id is a 404."
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Exact, case-insensitive."
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Exact, case-insensitive."
                    },
                    {
                        "name": "available",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "Only properties with (true) or without (false) an available unit."
                    },
                    {
                        "name": "beds",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Bedroom counts, comma-separated. Matches a property with an enabled floor plan of that size."
                    },
                    {
                        "name": "min_rent",
                        "in": "query",
                        "schema": {
                            "type": "number"
                        },
                        "description": "Budget floor. Matches a property with an available unit at or above it."
                    },
                    {
                        "name": "max_rent",
                        "in": "query",
                        "schema": {
                            "type": "number"
                        },
                        "description": "Budget ceiling. Matches a property with an available unit at or below it."
                    },
                    {
                        "name": "near",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "`latitude,longitude`. A bounding box, not a great-circle radius."
                    },
                    {
                        "name": "radius",
                        "in": "query",
                        "schema": {
                            "type": "number"
                        },
                        "description": "Kilometres for `near`. Default 25."
                    },
                    {
                        "$ref": "#/components/parameters/Sort"
                    },
                    {
                        "$ref": "#/components/parameters/Page"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PropertySummary"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginatedMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A filter or sort value that cannot be applied.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/properties/{property}": {
            "get": {
                "operationId": "getProperty",
                "summary": "One property",
                "tags": [
                    "Properties"
                ],
                "description": "A property with the sections its page renders, named in `include`, in one call. Every includable key is always present and is null when not requested, so the shape never depends on the query string. `has` says which sections hold anything. Tags: `property:{id}`, `inventory:{id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The property's slug. UUIDs are not accepted."
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Comma-separated: `amenities`, `announcements`, `buildings`, `content`, `faqs`, `fees`, `galleries`, `groups`, `media`, `office_hours`. An unknown value is a 422."
                    },
                    {
                        "name": "content_keys",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "With `include=content`: comma-separated block keys to return."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/PropertyDetail"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PropertyDetailMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Unknown `include`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/properties/{property}/neighborhood": {
            "get": {
                "operationId": "getPropertyNeighborhood",
                "summary": "Neighborhood",
                "tags": [
                    "Properties"
                ],
                "description": "The places around a property, with the account's categories. At most `limit` places. Tag: `property:{id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The property's slug. UUIDs are not accepted."
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 500,
                            "default": 100
                        },
                        "description": "How many places to return, by name. A property can hold far more than a map shows at once."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Neighborhood"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/NeighborhoodMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A filter or sort value that cannot be applied.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/properties/{property}/reviews": {
            "get": {
                "operationId": "listPropertyReviews",
                "summary": "Reviews",
                "tags": [
                    "Properties"
                ],
                "description": "Published reviews, newest first. `meta.rating` carries the property's overall average and count. Sort keys: `date`, `rating`. Tag: `property:{id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The property's slug. UUIDs are not accepted."
                    },
                    {
                        "name": "source",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Review sources, comma-separated."
                    },
                    {
                        "name": "rating",
                        "in": "query",
                        "style": "deepObject",
                        "explode": true,
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "number"
                            }
                        },
                        "description": "`rating[gte]=4`. Operators: gte, lte, gt, lt."
                    },
                    {
                        "$ref": "#/components/parameters/Sort"
                    },
                    {
                        "$ref": "#/components/parameters/Page"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 20
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Review"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/ReviewListMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A filter or sort value that cannot be applied.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/properties/{property}/instagram": {
            "get": {
                "operationId": "listPropertyInstagram",
                "summary": "Instagram feed",
                "tags": [
                    "Properties"
                ],
                "description": "The property's most recent Instagram posts. An empty list when the property has no enabled Instagram connection. Tag: `property:{id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The property's slug. UUIDs are not accepted."
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 50,
                            "default": 12
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/InstagramPost"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/floor-plans": {
            "get": {
                "operationId": "listFloorPlans",
                "summary": "List floor plans",
                "tags": [
                    "Inventory"
                ],
                "description": "Primary and ungrouped floor plans across the website's properties. Default order: `order`, then `name`. Sort keys: `order`, `name`, `beds`, `rent`, `sqft`. Tags: `inventory:{property_id}` per property on the page. When a rent filter is used, anything whose price the property's display settings would hide is left out of the results, so a filter can never reveal a hidden price.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "A property slug on this website. Unknown slug is a 404, not an empty list."
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Group id. Cascades to descendants."
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Name contains."
                    },
                    {
                        "name": "beds",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Bedroom counts, comma-separated."
                    },
                    {
                        "name": "baths",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Bathroom counts, comma-separated."
                    },
                    {
                        "name": "sqft",
                        "in": "query",
                        "style": "deepObject",
                        "explode": true,
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "number"
                            }
                        },
                        "description": "`sqft[gte]=700`. Operators: gte, lte, gt, lt."
                    },
                    {
                        "name": "min_rent",
                        "in": "query",
                        "schema": {
                            "type": "number"
                        },
                        "description": "Starting rent at or above."
                    },
                    {
                        "name": "max_rent",
                        "in": "query",
                        "schema": {
                            "type": "number"
                        },
                        "description": "Starting rent at or below."
                    },
                    {
                        "name": "featured",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": ""
                    },
                    {
                        "name": "available",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "Has (true) or lacks (false) an available unit in its group."
                    },
                    {
                        "name": "available_by",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Has a unit available on or before this date."
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "`units` to embed each plan's units (at most 100 per plan)."
                    },
                    {
                        "$ref": "#/components/parameters/Sort"
                    },
                    {
                        "$ref": "#/components/parameters/Page"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/FloorPlan"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/IncludesPaginatedMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A filter or sort value that cannot be applied.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/floor-plans/{floorPlan}": {
            "get": {
                "operationId": "getFloorPlan",
                "summary": "One floor plan",
                "tags": [
                    "Inventory"
                ],
                "description": "A primary or ungrouped floor plan by slug. A grouped sibling's slug is a 404. Tag: `inventory:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "floorPlan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The floor plan's slug."
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "`units` to embed the plan's units (at most 100 per plan)."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/FloorPlan"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PropertyDetailMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Unknown `include`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/units": {
            "get": {
                "operationId": "listUnits",
                "summary": "List units",
                "tags": [
                    "Inventory"
                ],
                "description": "Enabled, unhidden units across the website's properties, ordered by unit number unless sorted. Sort keys: `number`, `rent`, `sqft`, `beds`, `available`. Tags: `inventory:{property_id}` per property on the page. When a rent filter is used, anything whose price the property's display settings would hide is left out of the results, so a filter can never reveal a hidden price.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "A property slug on this website. Unknown slug is a 404, not an empty list."
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Group id. Cascades to descendants."
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Unit number contains."
                    },
                    {
                        "name": "floor_plan",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "A floor plan slug. A primary matches its whole group's units."
                    },
                    {
                        "name": "building",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Building ids, comma-separated."
                    },
                    {
                        "name": "amenity",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Amenity ids, comma-separated. A unit must have all of them."
                    },
                    {
                        "name": "beds",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Comma-separated."
                    },
                    {
                        "name": "baths",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Comma-separated."
                    },
                    {
                        "name": "sqft",
                        "in": "query",
                        "style": "deepObject",
                        "explode": true,
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "number"
                            }
                        },
                        "description": "`sqft[gte]=700`."
                    },
                    {
                        "name": "min_rent",
                        "in": "query",
                        "schema": {
                            "type": "number"
                        },
                        "description": ""
                    },
                    {
                        "name": "max_rent",
                        "in": "query",
                        "schema": {
                            "type": "number"
                        },
                        "description": ""
                    },
                    {
                        "name": "featured",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": ""
                    },
                    {
                        "name": "available",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": ""
                    },
                    {
                        "name": "available_by",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Available on or before this date."
                    },
                    {
                        "$ref": "#/components/parameters/Sort"
                    },
                    {
                        "$ref": "#/components/parameters/Page"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Unit"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginatedMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A filter or sort value that cannot be applied.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/units/{unit}": {
            "get": {
                "operationId": "getUnit",
                "summary": "One unit",
                "tags": [
                    "Inventory"
                ],
                "description": "A unit by slug. Tag: `inventory:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "unit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The unit's slug."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Unit"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/units/{unit}/price-matrix": {
            "get": {
                "operationId": "getUnitPriceMatrix",
                "summary": "Unit price matrix",
                "tags": [
                    "Inventory"
                ],
                "description": "Rent by move-in date and lease term, from stored data only. This endpoint never calls the property's management system; a unit with no stored matrix returns an empty list. Empty too when the property's pricing display settings hide the price. At most 120 rows. Rate limited more tightly than other reads. Tag: `inventory:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "unit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The unit's slug."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "First move-in date. Defaults to today."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Last move-in date."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PriceMatrixRow"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PriceMatrixMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "`from` or `to` is not a date.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/availability": {
            "get": {
                "operationId": "listAvailability",
                "summary": "Availability feed",
                "tags": [
                    "Inventory"
                ],
                "description": "The part of a unit that moves: availability, date and price. Cache the heavy unit and floor-plan payloads for long, and re-read this often. Join on `id` or `slug`. `meta.cache.ttl` is 60. Tags: `inventory:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "A property slug on this website. Unknown slug is a 404."
                    },
                    {
                        "name": "available",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Page"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 2000,
                            "default": 500
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/AvailabilityItem"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginatedMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A filter or sort value that cannot be applied.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/unit-types": {
            "get": {
                "operationId": "listUnitTypes",
                "summary": "Unit types",
                "tags": [
                    "Inventory"
                ],
                "description": "Studio, one bedroom, two bedroom and so on, with counts and bounds, across the website's properties or one. Tags: `inventory:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "A property slug on this website. Unknown slug is a 404."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/UnitTypeSummary"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/facets": {
            "get": {
                "operationId": "getFacets",
                "summary": "Search facets",
                "tags": [
                    "Inventory"
                ],
                "description": "What a search UI's filters can offer, with counts. The values are exactly what the `beds`, `baths`, `city` and `state` filters accept. Tags: `site`, `inventory:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "A property slug on this website. Unknown slug is a 404."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Facets"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/groups": {
            "get": {
                "operationId": "listGroups",
                "summary": "Group sets",
                "tags": [
                    "Bootstrap"
                ],
                "description": "Account-wide group sets plus those belonging to the website's own properties. Group ids are what the `group` filter accepts. Tag: `site`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/GroupSet"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/lead-sources": {
            "get": {
                "operationId": "listLeadSources",
                "summary": "Lead sources for every property",
                "tags": [
                    "Attribution"
                ],
                "description": "One block per property on the website, so a centralized site builds from one call. A property's lead sources, tracking phone numbers and emails, and the rules a site evaluates in the browser to pick a source for a visit. Tag: `lead-sources:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "A property slug on this website. Unknown slug is a 404."
                    },
                    {
                        "$ref": "#/components/parameters/Page"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/LeadSources"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginatedMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/properties/{property}/lead-sources": {
            "get": {
                "operationId": "getPropertyLeadSources",
                "summary": "Lead sources for one property",
                "tags": [
                    "Attribution"
                ],
                "description": "A property's lead sources, tracking phone numbers and emails, and the rules a site evaluates in the browser to pick a source for a visit. Tag: `lead-sources:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The property's slug."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LeadSources"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/integrations": {
            "get": {
                "operationId": "listIntegrations",
                "summary": "Integrations for every property",
                "tags": [
                    "Integrations"
                ],
                "description": "One block per property on the website. Tag: `integrations:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "A property slug on this website. Unknown slug is a 404."
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "One connection category, for example `chatbots`, `accessibility`, `analytics` or `tour`. Unknown value is a 422."
                    },
                    {
                        "$ref": "#/components/parameters/Page"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PropertyIntegrations"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginatedMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Unknown `category`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/properties/{property}/integrations": {
            "get": {
                "operationId": "getPropertyIntegrations",
                "summary": "Integrations for one property",
                "tags": [
                    "Integrations"
                ],
                "description": "The enabled connections this property's pages render with, and their allow-listed settings. Tag: `integrations:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The property's slug."
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "One connection category, for example `chatbots`, `accessibility`, `analytics` or `tour`. Unknown value is a 422."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Integration"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Unknown `category`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/forms": {
            "get": {
                "operationId": "listForms",
                "summary": "List forms",
                "tags": [
                    "Conversion"
                ],
                "description": "Enabled forms attached to the website's properties. Sort key: `name`. Tags: `forms:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "property",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "A property slug on this website. Unknown slug is a 404."
                    },
                    {
                        "name": "key",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Form keys, comma-separated."
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "contact",
                                "schedule_tour"
                            ]
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Sort"
                    },
                    {
                        "$ref": "#/components/parameters/Page"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 50
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Form"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginatedMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A filter or sort value that cannot be applied.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/forms/{form}": {
            "get": {
                "operationId": "getForm",
                "summary": "One form",
                "tags": [
                    "Conversion"
                ],
                "description": "A form by id. A form on no property of this website, a disabled form and a malformed id are all a 404. Tags: `forms:{property_id}`.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IfNoneMatch"
                    },
                    {
                        "name": "form",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The form's id."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "X-Resi-Cache-Tags": {
                                "schema": {
                                    "type": "string"
                                },
                                "description": "Comma-separated copy of meta.cache.tags."
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Form"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not modified. Sent when If-None-Match matches the ETag."
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or nothing found. Indistinguishable from a record that belongs to another website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited. Limits are per website token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/forms/{form}/submissions": {
            "post": {
                "operationId": "submitForm",
                "summary": "Submit a form",
                "tags": [
                    "Conversion"
                ],
                "description": "Creates a lead. Call this from the site's own server with the website token; the token must never reach a browser. The lead takes the same path as any other: created and recorded as a demand event before the response; email notifications and the form's CRM connections run just after it, so a slow CRM never holds the form open. Limited to 60 requests a minute per website.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IdempotencyKey"
                    },
                    {
                        "name": "form",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The form's id."
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FormSubmission"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Lead created, or discarded by the honeypot.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SubmissionResult"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/SubmissionMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "This Idempotency-Key was already processed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SubmissionResult"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/SubmissionMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or a form this website cannot use.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "A submission with this Idempotency-Key is still being processed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed. `errors` is keyed by parameter.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/tours/availability": {
            "post": {
                "operationId": "getTourAvailability",
                "summary": "Tour availability",
                "tags": [
                    "Conversion"
                ],
                "description": "Asks the property's tour provider for open slots. The connection must be an enabled tour connection of this property, and the tour type one it offers. Limited to 60 requests a minute per website.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TourAvailabilityRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TourAvailability"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/EmptyMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or a property this website does not have.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed, or the connection cannot do this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "The tour provider failed. Safe to retry.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/tours/reservations": {
            "post": {
                "operationId": "reserveTour",
                "summary": "Reserve a tour",
                "tags": [
                    "Conversion"
                ],
                "description": "Books a tour with the provider and creates the lead. `fields` is validated against the connection's tour schema for the tour type, the same schema GET /integrations publishes. Call from the site's own server. Send an `Idempotency-Key`: a retry after a timeout then returns the original booking instead of booking the slot twice with the provider.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    },
                    {
                        "$ref": "#/components/parameters/IdempotencyKey"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TourReservationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TourReservationResult"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/TourReservationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or a property this website does not have.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed, or the connection cannot do this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "The tour provider failed. Safe to retry.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "The slot was taken, or a request with this Idempotency-Key is still being processed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "This Idempotency-Key was already processed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TourReservationResult"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/TourReservationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/events": {
            "post": {
                "operationId": "recordEvent",
                "summary": "Record an analytics event",
                "tags": [
                    "Conversion"
                ],
                "description": "A demand event a page observed, forwarded by the site's server. Uses the read rate limit, since events arrive in volume.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DemandEventRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Recorded.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DemandEventResult"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/EmptyMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or a property this website does not have.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sites/v1/source-observations": {
            "post": {
                "operationId": "recordSourceObservation",
                "summary": "Record a source observation",
                "tags": [
                    "Conversion"
                ],
                "description": "What a site saw about where a visit came from. Resolved against the property's attribution rules, then stored with personal and credential-shaped values stripped. The result says which source matched.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Website"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SourceObservationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Recorded.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "data",
                                        "meta"
                                    ],
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SourceObservationResult"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/EmptyMeta"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or revoked token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token is not scoped to this website.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown host, or a property this website does not have.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "websiteToken": {
                "type": "http",
                "scheme": "bearer",
                "description": "A Sanctum token scoped to one website."
            }
        },
        "parameters": {
            "Page": {
                "name": "page",
                "in": "query",
                "schema": {
                    "type": "integer",
                    "minimum": 1,
                    "default": 1
                }
            },
            "IfNoneMatch": {
                "name": "If-None-Match",
                "in": "header",
                "schema": {
                    "type": "string"
                }
            },
            "Website": {
                "name": "X-Resi-Website",
                "in": "header",
                "schema": {
                    "type": "string"
                },
                "description": "Website id. Overrides Host resolution for builds running where Host is meaningless. The token must still be scoped to this website."
            },
            "Sort": {
                "name": "sort",
                "in": "query",
                "schema": {
                    "type": "string"
                },
                "description": "Sort key, `-` prefix for descending, comma-separated for several. Allowed keys are listed per endpoint."
            },
            "IdempotencyKey": {
                "name": "Idempotency-Key",
                "in": "header",
                "schema": {
                    "type": "string",
                    "maxLength": 255
                },
                "description": "Any unique string per submission or booking. A repeat within 24 hours returns the original result and creates nothing."
            }
        },
        "schemas": {
            "CacheMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "tags",
                    "ttl"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Cache tags this payload was built from, sorted. The cache-clear webhook names the same tags."
                    },
                    "ttl": {
                        "type": "integer",
                        "description": "Advisory lifetime in seconds for the site's own data cache."
                    }
                }
            },
            "Meta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "cache"
                ],
                "properties": {
                    "cache": {
                        "$ref": "#/components/schemas/CacheMeta"
                    }
                }
            },
            "Pagination": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "total",
                    "page",
                    "per_page",
                    "last_page"
                ],
                "properties": {
                    "total": {
                        "type": "integer"
                    },
                    "page": {
                        "type": "integer"
                    },
                    "per_page": {
                        "type": "integer"
                    },
                    "last_page": {
                        "type": "integer"
                    }
                }
            },
            "PaginatedMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "pagination",
                    "cache"
                ],
                "properties": {
                    "pagination": {
                        "$ref": "#/components/schemas/Pagination"
                    },
                    "cache": {
                        "$ref": "#/components/schemas/CacheMeta"
                    }
                }
            },
            "Error": {
                "type": "object",
                "additionalProperties": true,
                "required": [
                    "message"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "errors": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                },
                "description": "Every error carries `message`. Validation errors add `errors`, keyed by parameter. Not-found bodies from /resolve and /entries also carry `type: not_found`."
            },
            "Website": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "name",
                    "type",
                    "platform",
                    "status",
                    "locale",
                    "environment"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "property",
                            "portfolio"
                        ]
                    },
                    "platform": {
                        "type": "string",
                        "enum": [
                            "nextjs",
                            "wordpress"
                        ]
                    },
                    "status": {
                        "type": "string"
                    },
                    "locale": {
                        "type": "string"
                    },
                    "environment": {
                        "type": "string",
                        "enum": [
                            "production",
                            "preview"
                        ]
                    }
                }
            },
            "Domain": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "hostname",
                    "is_primary",
                    "managed_by"
                ],
                "properties": {
                    "hostname": {
                        "type": "string"
                    },
                    "is_primary": {
                        "type": "boolean"
                    },
                    "managed_by": {
                        "type": "string"
                    }
                }
            },
            "Redirect": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "from",
                    "to",
                    "status"
                ],
                "properties": {
                    "from": {
                        "type": "string"
                    },
                    "to": {
                        "type": "string"
                    },
                    "status": {
                        "type": "integer"
                    }
                }
            },
            "Theme": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "tokens"
                ],
                "properties": {
                    "tokens": {
                        "type": "object",
                        "nullable": true,
                        "additionalProperties": true,
                        "description": "Reserved for theme tokens. Null until the Styler ships."
                    }
                }
            },
            "Site": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "website",
                    "domains",
                    "tracking",
                    "redirects",
                    "routing",
                    "properties",
                    "theme",
                    "search"
                ],
                "properties": {
                    "website": {
                        "$ref": "#/components/schemas/Website"
                    },
                    "domains": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Domain"
                        }
                    },
                    "tracking": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Tracking identifiers. Account defaults merged under the website's own values."
                    },
                    "redirects": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Redirect"
                        }
                    },
                    "routing": {
                        "$ref": "#/components/schemas/Routing"
                    },
                    "properties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PropertySummary"
                        },
                        "description": "Enabled properties attached to this website, in the website's order."
                    },
                    "theme": {
                        "$ref": "#/components/schemas/Theme"
                    },
                    "search": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SiteSearch"
                            }
                        ],
                        "nullable": true,
                        "description": "The site's search: the Algolia application, its search-only key and index names. Resi-managed by default, or the account's own Algolia connection when the website is set to search one. Null until the website's search is provisioned or its connection can be searched, or where it has none."
                    }
                }
            },
            "PathItem": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "path",
                    "type",
                    "slug",
                    "property_slug",
                    "content_type",
                    "updated_at"
                ],
                "properties": {
                    "path": {
                        "type": "string",
                        "nullable": true,
                        "description": "Site-relative path."
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "property",
                            "floor_plan",
                            "unit",
                            "entry"
                        ]
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true,
                        "description": "The record's slug, for generateStaticParams."
                    },
                    "property_slug": {
                        "type": "string",
                        "nullable": true,
                        "description": "The owning property. Null for entries."
                    },
                    "content_type": {
                        "type": "string",
                        "nullable": true,
                        "description": "The content type key. Null unless `type` is `entry`."
                    },
                    "updated_at": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "Term": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "slug",
                    "label",
                    "taxonomy"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "label": {
                        "type": "string"
                    },
                    "taxonomy": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "Entry": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "slug",
                    "path",
                    "status",
                    "content_type",
                    "property_id",
                    "data",
                    "seo",
                    "terms",
                    "schema",
                    "published_at",
                    "expires_at",
                    "updated_at"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "path": {
                        "type": "string",
                        "nullable": true
                    },
                    "status": {
                        "type": "string"
                    },
                    "content_type": {
                        "type": "string"
                    },
                    "property_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "data": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "The entry's fields, as declared by its content type (see GET /content-types). Media and group references are expanded."
                    },
                    "seo": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "SEO fields, with this website's overrides applied."
                    },
                    "terms": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Term"
                        }
                    },
                    "schema": {
                        "type": "object",
                        "nullable": true,
                        "additionalProperties": true,
                        "description": "schema.org JSON-LD, or null when the type declares no schema_type."
                    },
                    "published_at": {
                        "type": "string",
                        "nullable": true
                    },
                    "expires_at": {
                        "type": "string",
                        "nullable": true
                    },
                    "updated_at": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "ContentTypeSummary": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "key",
                    "singular",
                    "plural",
                    "url_pattern",
                    "schema_type"
                ],
                "properties": {
                    "key": {
                        "type": "string"
                    },
                    "singular": {
                        "type": "string"
                    },
                    "plural": {
                        "type": "string"
                    },
                    "url_pattern": {
                        "type": "string",
                        "nullable": true
                    },
                    "schema_type": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "EntryListMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "content_type",
                    "pagination",
                    "cache"
                ],
                "properties": {
                    "content_type": {
                        "$ref": "#/components/schemas/ContentTypeSummary"
                    },
                    "pagination": {
                        "$ref": "#/components/schemas/Pagination"
                    },
                    "cache": {
                        "$ref": "#/components/schemas/CacheMeta"
                    }
                }
            },
            "EntryResolution": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "type",
                    "path",
                    "entry"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "entry"
                        ]
                    },
                    "path": {
                        "type": "string",
                        "nullable": true
                    },
                    "entry": {
                        "$ref": "#/components/schemas/Entry"
                    }
                }
            },
            "RedirectTarget": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "to",
                    "status"
                ],
                "properties": {
                    "to": {
                        "type": "string"
                    },
                    "status": {
                        "type": "integer"
                    }
                }
            },
            "RedirectResolution": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "type",
                    "path",
                    "redirect"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "redirect"
                        ]
                    },
                    "path": {
                        "type": "string"
                    },
                    "redirect": {
                        "$ref": "#/components/schemas/RedirectTarget"
                    }
                }
            },
            "Resolution": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/EntryResolution"
                    },
                    {
                        "$ref": "#/components/schemas/PropertyResolution"
                    },
                    {
                        "$ref": "#/components/schemas/FloorPlanResolution"
                    },
                    {
                        "$ref": "#/components/schemas/UnitResolution"
                    },
                    {
                        "$ref": "#/components/schemas/RedirectResolution"
                    }
                ],
                "description": "Discriminated by `type`. Property, floor-plan and unit results are references: fetch the record from its own endpoint by slug. A redirect is described in the body, never sent as a 3xx, so a server-side fetch cannot absorb it."
            },
            "PropertyAddress": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "street",
                    "street_2",
                    "city",
                    "county",
                    "state",
                    "postal_code",
                    "country",
                    "formatted"
                ],
                "properties": {
                    "street": {
                        "type": "string",
                        "nullable": true
                    },
                    "street_2": {
                        "type": "string",
                        "nullable": true
                    },
                    "city": {
                        "type": "string",
                        "nullable": true
                    },
                    "county": {
                        "type": "string",
                        "nullable": true
                    },
                    "state": {
                        "type": "string",
                        "nullable": true
                    },
                    "postal_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "country": {
                        "type": "string",
                        "nullable": true
                    },
                    "formatted": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "GeoPoint": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "lat",
                    "lng"
                ],
                "properties": {
                    "lat": {
                        "type": "number"
                    },
                    "lng": {
                        "type": "number"
                    }
                }
            },
            "Image": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "url",
                    "thumb_url",
                    "title",
                    "caption",
                    "alt_text",
                    "tags"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string",
                        "nullable": true
                    },
                    "thumb_url": {
                        "type": "string",
                        "nullable": true
                    },
                    "title": {
                        "type": "string",
                        "nullable": true
                    },
                    "caption": {
                        "type": "string",
                        "nullable": true
                    },
                    "alt_text": {
                        "type": "string",
                        "nullable": true
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The tags the image carries in the media library, for filtering (for example `exterior`, `pool`)."
                    }
                }
            },
            "RentRange": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "min",
                    "max",
                    "base_min",
                    "base_max"
                ],
                "properties": {
                    "min": {
                        "type": "number",
                        "nullable": true
                    },
                    "max": {
                        "type": "number",
                        "nullable": true
                    },
                    "base_min": {
                        "type": "number",
                        "nullable": true
                    },
                    "base_max": {
                        "type": "number",
                        "nullable": true
                    }
                },
                "description": "Bounds across available units. `min`/`max` are the total monthly price; `base_*` is base rent. A value hidden by the property's pricing display settings is null, never absent."
            },
            "PricingDisplay": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "mode",
                    "hidden_price_label",
                    "no_availability_price_label",
                    "no_price_label",
                    "total_price_label"
                ],
                "properties": {
                    "mode": {
                        "type": "string",
                        "description": "Which rents the payloads show: `BASE_AND_TOTAL`, `TOTAL_ONLY` (nulls `base_min`/`base_max`) or `BASE_ONLY` (nulls `min`/`max` and the fee fields). The same value as `pricing.pricing_display_mode` on the property detail."
                    },
                    "hidden_price_label": {
                        "type": "string",
                        "description": "What to show in place of a price while all pricing is hidden."
                    },
                    "no_availability_price_label": {
                        "type": "string",
                        "description": "What to show in place of a price hidden because nothing is available."
                    },
                    "no_price_label": {
                        "type": "string",
                        "description": "What to show wherever else a price is null, such as when no rent is known."
                    },
                    "total_price_label": {
                        "type": "string"
                    }
                }
            },
            "PricingSettings": {
                "type": "object",
                "additionalProperties": false,
                "description": "The property's pricing display settings, as in effect: the property's own value for each key it sets, the account's for every other. The API already applies them to every price it serves; they are here so a site can label and explain what it shows.",
                "required": [
                    "hidden_price_label",
                    "no_availability_price_label",
                    "no_price_label",
                    "hide_all_pricing",
                    "hide_price_when_no_availability",
                    "pricing_display_mode",
                    "tmlp_label",
                    "show_fee_breakdown",
                    "fee_breakdown_behavior",
                    "pricing_disclaimer_text"
                ],
                "properties": {
                    "hidden_price_label": {
                        "type": "string",
                        "description": "What to show in place of a price while `hide_all_pricing` is on. The same value as `pricing_display.hidden_price_label`."
                    },
                    "no_availability_price_label": {
                        "type": "string",
                        "description": "What to show in place of a price that `hide_price_when_no_availability` hides. The same value as `pricing_display.no_availability_price_label`."
                    },
                    "no_price_label": {
                        "type": "string",
                        "description": "What to show wherever else a price is null, such as when no rent is known. The same value as `pricing_display.no_price_label`."
                    },
                    "hide_all_pricing": {
                        "type": "boolean",
                        "description": "Every price and fee is hidden."
                    },
                    "hide_price_when_no_availability": {
                        "type": "boolean",
                        "description": "A floor plan's or unit's prices are hidden when nothing is available. Its fees are still listed."
                    },
                    "pricing_display_mode": {
                        "type": "string",
                        "enum": [
                            "BASE_AND_TOTAL",
                            "TOTAL_ONLY",
                            "BASE_ONLY"
                        ],
                        "description": "The same value as `pricing_display.mode`."
                    },
                    "tmlp_label": {
                        "type": "string",
                        "description": "The label for the total monthly price. The same value as `pricing_display.total_price_label`."
                    },
                    "show_fee_breakdown": {
                        "type": "boolean",
                        "description": "Whether fee lines are listed. When false, `fees.lines` is empty and the totals stay."
                    },
                    "fee_breakdown_behavior": {
                        "type": "string",
                        "enum": [
                            "EXPANDED",
                            "COLLAPSED"
                        ],
                        "description": "Whether to show the fee lines open or behind a disclosure."
                    },
                    "pricing_disclaimer_text": {
                        "type": "string",
                        "description": "Text to show alongside prices."
                    }
                }
            },
            "DisplaySettings": {
                "type": "object",
                "additionalProperties": false,
                "description": "The property's display settings, as in effect: the property's own value for each key it sets, the account's for every other. `hide_available_units` asks the site to hide its available units list.",
                "required": [
                    "prepend_building_number_to_unit_number",
                    "show_non_marketable_amenities",
                    "hide_available_units"
                ],
                "properties": {
                    "prepend_building_number_to_unit_number": {
                        "type": "boolean",
                        "description": "Unit numbers are served prefixed with their building number (e.g. `5-204`)."
                    },
                    "show_non_marketable_amenities": {
                        "type": "boolean",
                        "description": "Unit amenities include those not marked as marketable at the property."
                    },
                    "hide_available_units": {
                        "type": "boolean",
                        "description": "Hide the available units list, whatever the actual availability."
                    }
                }
            },
            "LeasingSettings": {
                "type": "object",
                "additionalProperties": false,
                "description": "The property's leasing settings, as in effect: the property's own value for each key it sets, the account's for every other.",
                "required": [
                    "applicant_hold_period_days",
                    "availability_window_days"
                ],
                "properties": {
                    "applicant_hold_period_days": {
                        "type": "integer",
                        "description": "How many days ahead an applicant may choose a move-in date."
                    },
                    "availability_window_days": {
                        "type": "integer",
                        "description": "How many days ahead to look for availability."
                    }
                }
            },
            "PetPolicySettings": {
                "type": "object",
                "additionalProperties": false,
                "description": "The property's pet policy, as in effect: the property's own value for each key it sets, the account's for every other. Empty strings when none is set.",
                "required": [
                    "description",
                    "restrictions"
                ],
                "properties": {
                    "description": {
                        "type": "string"
                    },
                    "restrictions": {
                        "type": "string"
                    }
                }
            },
            "OfficeHoursSettings": {
                "type": "object",
                "additionalProperties": false,
                "description": "The property's office hours, as in effect: the property's own value for each key it sets, the account's for every other.",
                "required": [
                    "hours",
                    "display_heading",
                    "disclaimer"
                ],
                "properties": {
                    "hours": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/OfficeHour"
                        },
                        "description": "One row per entry, in the order set in Resi."
                    },
                    "display_heading": {
                        "type": "string",
                        "description": "The heading to show above the hours."
                    },
                    "disclaimer": {
                        "type": "string",
                        "description": "Text to show with the hours. Empty when none is set."
                    }
                }
            },
            "OfficeHour": {
                "type": "object",
                "additionalProperties": false,
                "description": "One row of office hours. Both values are free text as entered in Resi, not parsed.",
                "required": [
                    "day",
                    "time"
                ],
                "properties": {
                    "day": {
                        "type": "string",
                        "description": "The day or days the row covers, such as `Monday` or `Monday - Friday`."
                    },
                    "time": {
                        "type": "string",
                        "description": "The hours, such as `9:00 AM - 5:00 PM` or `Closed`."
                    }
                }
            },
            "PropertySummary": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "slug",
                    "name",
                    "path",
                    "address",
                    "location",
                    "timezone",
                    "image",
                    "phone",
                    "rating",
                    "tags",
                    "units_count",
                    "available_units_count",
                    "floor_plans_count",
                    "rent",
                    "pricing_display"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string"
                    },
                    "path": {
                        "type": "string",
                        "nullable": true,
                        "description": "Where this property's page lives on this website. `/` on a property website."
                    },
                    "address": {
                        "$ref": "#/components/schemas/PropertyAddress"
                    },
                    "location": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GeoPoint"
                            }
                        ],
                        "nullable": true,
                        "description": "Null when either coordinate is missing."
                    },
                    "timezone": {
                        "type": "string",
                        "nullable": true,
                        "description": "The property's IANA timezone, for example `America/Chicago`. Use it for office hours and tour times."
                    },
                    "image": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true,
                        "description": "The property's image. When it has none, an image from its first enabled image gallery: one tagged `exterior` if there is one, else the first. Null only when it has neither."
                    },
                    "phone": {
                        "type": "string",
                        "nullable": true
                    },
                    "rating": {
                        "$ref": "#/components/schemas/Rating"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The property's tags, for filtering and badges on listing pages."
                    },
                    "units_count": {
                        "type": "integer"
                    },
                    "available_units_count": {
                        "type": "integer"
                    },
                    "floor_plans_count": {
                        "type": "integer"
                    },
                    "rent": {
                        "$ref": "#/components/schemas/RentRange"
                    },
                    "pricing_display": {
                        "$ref": "#/components/schemas/PricingDisplay"
                    }
                }
            },
            "RoutePatterns": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "property",
                    "property_archive",
                    "floor_plan",
                    "floor_plan_archive",
                    "unit",
                    "unit_archive"
                ],
                "properties": {
                    "property": {
                        "type": "string"
                    },
                    "property_archive": {
                        "type": "string"
                    },
                    "floor_plan": {
                        "type": "string"
                    },
                    "floor_plan_archive": {
                        "type": "string"
                    },
                    "unit": {
                        "type": "string"
                    },
                    "unit_archive": {
                        "type": "string"
                    }
                },
                "description": "Site-relative URL patterns. Single patterns carry a `{slug}` placeholder."
            },
            "Routing": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "patterns",
                    "uniform"
                ],
                "properties": {
                    "patterns": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/RoutePatterns"
                            }
                        ],
                        "nullable": true,
                        "description": "Null when the website has no properties."
                    },
                    "uniform": {
                        "type": "boolean",
                        "description": "False when a property overrides the patterns. Every record still carries its own concrete `path`."
                    }
                }
            },
            "RecordReference": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "slug",
                    "name"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "description": "Which record to fetch. For a unit, `name` is the unit number."
            },
            "PropertyResolution": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "type",
                    "path",
                    "property"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "property"
                        ]
                    },
                    "path": {
                        "type": "string"
                    },
                    "property": {
                        "$ref": "#/components/schemas/RecordReference"
                    }
                }
            },
            "FloorPlanResolution": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "type",
                    "path",
                    "property",
                    "floor_plan"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "floor_plan"
                        ]
                    },
                    "path": {
                        "type": "string"
                    },
                    "property": {
                        "$ref": "#/components/schemas/RecordReference"
                    },
                    "floor_plan": {
                        "$ref": "#/components/schemas/RecordReference"
                    }
                }
            },
            "UnitResolution": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "type",
                    "path",
                    "property",
                    "unit"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "unit"
                        ]
                    },
                    "path": {
                        "type": "string"
                    },
                    "property": {
                        "$ref": "#/components/schemas/RecordReference"
                    },
                    "unit": {
                        "$ref": "#/components/schemas/RecordReference"
                    }
                }
            },
            "EntryOrRedirect": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/EntryResolution"
                    },
                    {
                        "$ref": "#/components/schemas/RedirectResolution"
                    }
                ],
                "description": "Discriminated by `type`."
            },
            "Embed": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "provider",
                    "url",
                    "title",
                    "settings",
                    "tags",
                    "image"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "provider": {
                        "type": "string",
                        "nullable": true
                    },
                    "url": {
                        "type": "string",
                        "nullable": true
                    },
                    "title": {
                        "type": "string",
                        "nullable": true
                    },
                    "settings": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Provider-specific player settings."
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The video or virtual tour's tags in the media library."
                    },
                    "image": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true,
                        "description": "The poster image."
                    }
                },
                "description": "A video or virtual tour embedded by URL."
            },
            "Link": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "url",
                    "text"
                ],
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "text": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "Amenity": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "type",
                    "is_marketable",
                    "tags",
                    "images",
                    "videos",
                    "virtual_tours"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "type": {
                        "type": "string",
                        "nullable": true
                    },
                    "is_marketable": {
                        "type": "boolean",
                        "description": "Whether the amenity is one the property markets, as opposed to a plain feature."
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        }
                    },
                    "videos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    },
                    "virtual_tours": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    }
                }
            },
            "Faq": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "question",
                    "answer",
                    "tags",
                    "sort_order",
                    "topic"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "question": {
                        "type": "string",
                        "nullable": true
                    },
                    "answer": {
                        "type": "string",
                        "nullable": true
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sort_order": {
                        "type": "integer",
                        "nullable": true
                    },
                    "topic": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/FaqTopic"
                            }
                        ],
                        "nullable": true,
                        "description": "The topic the question is filed under, for grouping. Null when it has none."
                    }
                }
            },
            "Gallery": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "key",
                    "type",
                    "title",
                    "text",
                    "images",
                    "panoramas",
                    "videos",
                    "virtual_tours"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "key": {
                        "type": "string",
                        "nullable": true,
                        "description": "The identifier a template places this gallery by."
                    },
                    "type": {
                        "type": "string",
                        "nullable": true
                    },
                    "title": {
                        "type": "string",
                        "nullable": true
                    },
                    "text": {
                        "type": "string",
                        "nullable": true
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        }
                    },
                    "panoramas": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        },
                        "description": "Panoramic images. Filled on a gallery of type `panorama`; the same image may also appear in `images`."
                    },
                    "videos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    },
                    "virtual_tours": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    }
                }
            },
            "Announcement": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "key",
                    "title",
                    "meta",
                    "text",
                    "disclaimer",
                    "image",
                    "links",
                    "starts_at",
                    "ends_at"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "key": {
                        "type": "string",
                        "nullable": true,
                        "description": "The identifier a template places this announcement by."
                    },
                    "title": {
                        "type": "string",
                        "nullable": true
                    },
                    "meta": {
                        "type": "string",
                        "nullable": true
                    },
                    "text": {
                        "type": "string",
                        "nullable": true
                    },
                    "disclaimer": {
                        "type": "string",
                        "nullable": true
                    },
                    "image": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true
                    },
                    "links": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Link"
                        }
                    },
                    "starts_at": {
                        "type": "string",
                        "nullable": true
                    },
                    "ends_at": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "GroupSetReference": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "key",
                    "name",
                    "object_type"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "nullable": true
                    },
                    "key": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "object_type": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "GroupMembership": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "label",
                    "slug",
                    "set"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "label": {
                        "type": "string",
                        "nullable": true
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "set": {
                        "$ref": "#/components/schemas/GroupSetReference"
                    }
                }
            },
            "Building": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "number",
                    "code",
                    "name",
                    "type",
                    "description",
                    "image",
                    "images",
                    "available_units_count",
                    "tags",
                    "groups"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "number": {
                        "type": "string",
                        "nullable": true
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "type": {
                        "type": "string",
                        "nullable": true
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "image": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        }
                    },
                    "available_units_count": {
                        "type": "integer"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/GroupMembership"
                        }
                    }
                }
            },
            "ContentItem": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "media_type",
                    "title",
                    "meta",
                    "text",
                    "links",
                    "images",
                    "background_image",
                    "videos",
                    "virtual_tours"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "media_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "title": {
                        "type": "string",
                        "nullable": true
                    },
                    "meta": {
                        "type": "string",
                        "nullable": true
                    },
                    "text": {
                        "type": "string",
                        "nullable": true
                    },
                    "links": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Link"
                        }
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        }
                    },
                    "background_image": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true
                    },
                    "videos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    },
                    "virtual_tours": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    }
                }
            },
            "ContentGroup": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "key",
                    "type",
                    "media_type",
                    "title",
                    "subtitle",
                    "description",
                    "links",
                    "images",
                    "background_image",
                    "videos",
                    "virtual_tours",
                    "items"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "key": {
                        "type": "string",
                        "nullable": true,
                        "description": "The identifier a template places this block by."
                    },
                    "type": {
                        "type": "string",
                        "nullable": true
                    },
                    "media_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "title": {
                        "type": "string",
                        "nullable": true
                    },
                    "subtitle": {
                        "type": "string",
                        "nullable": true
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "links": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Link"
                        }
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        }
                    },
                    "background_image": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true
                    },
                    "videos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    },
                    "virtual_tours": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContentItem"
                        }
                    }
                }
            },
            "Fees": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "lines",
                    "monthly_total",
                    "monthly_total_max",
                    "upfront_total"
                ],
                "properties": {
                    "lines": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "One resolved fee: fee_id, code, name, description, class, calculated_amount, is_variable, currency, frequency, requirement, and any restriction the fee discloses."
                        }
                    },
                    "monthly_total": {
                        "type": "number",
                        "nullable": true
                    },
                    "monthly_total_max": {
                        "type": "number",
                        "nullable": true
                    },
                    "upfront_total": {
                        "type": "number",
                        "nullable": true
                    }
                },
                "description": "The property-wide fee schedule under the property's pricing display settings. Empty lines and null totals when pricing is hidden."
            },
            "PropertyContact": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "phones",
                    "emails",
                    "socials"
                ],
                "properties": {
                    "phones": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "A phone number record."
                        }
                    },
                    "emails": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "An email record."
                        }
                    },
                    "socials": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "A social profile record."
                        }
                    }
                }
            },
            "PropertyUrls": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "website",
                    "resident_portal",
                    "application",
                    "tour_booking"
                ],
                "properties": {
                    "website": {
                        "type": "string",
                        "nullable": true
                    },
                    "resident_portal": {
                        "type": "string",
                        "nullable": true
                    },
                    "application": {
                        "type": "string",
                        "nullable": true
                    },
                    "tour_booking": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "Rating": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "average",
                    "count"
                ],
                "properties": {
                    "average": {
                        "type": "number",
                        "nullable": true
                    },
                    "count": {
                        "type": "integer"
                    }
                }
            },
            "PropertyPresence": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "amenities",
                    "announcements",
                    "buildings",
                    "content",
                    "faqs",
                    "galleries",
                    "neighborhood",
                    "reviews",
                    "instagram",
                    "floor_plans",
                    "available_units"
                ],
                "properties": {
                    "amenities": {
                        "type": "boolean"
                    },
                    "announcements": {
                        "type": "boolean"
                    },
                    "buildings": {
                        "type": "boolean"
                    },
                    "content": {
                        "type": "boolean"
                    },
                    "faqs": {
                        "type": "boolean"
                    },
                    "galleries": {
                        "type": "boolean"
                    },
                    "neighborhood": {
                        "type": "boolean"
                    },
                    "reviews": {
                        "type": "boolean"
                    },
                    "instagram": {
                        "type": "boolean"
                    },
                    "floor_plans": {
                        "type": "boolean"
                    },
                    "available_units": {
                        "type": "boolean"
                    }
                },
                "description": "Which sections hold anything, so a template can skip an empty one without fetching it."
            },
            "PropertyDetail": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "slug",
                    "name",
                    "path",
                    "address",
                    "location",
                    "timezone",
                    "image",
                    "phone",
                    "units_count",
                    "available_units_count",
                    "floor_plans_count",
                    "rent",
                    "pricing_display",
                    "description",
                    "contact",
                    "urls",
                    "tags",
                    "rating",
                    "leasing",
                    "pet_policy",
                    "pricing",
                    "display",
                    "has",
                    "amenities",
                    "announcements",
                    "buildings",
                    "content",
                    "faqs",
                    "fees",
                    "galleries",
                    "groups",
                    "media",
                    "office_hours"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string"
                    },
                    "path": {
                        "type": "string",
                        "nullable": true,
                        "description": "Where this property's page lives on this website. `/` on a property website."
                    },
                    "address": {
                        "$ref": "#/components/schemas/PropertyAddress"
                    },
                    "location": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GeoPoint"
                            }
                        ],
                        "nullable": true,
                        "description": "Null when either coordinate is missing."
                    },
                    "timezone": {
                        "type": "string",
                        "nullable": true,
                        "description": "The property's IANA timezone, for example `America/Chicago`. Use it for office hours and tour times."
                    },
                    "image": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true
                    },
                    "phone": {
                        "type": "string",
                        "nullable": true
                    },
                    "rating": {
                        "$ref": "#/components/schemas/Rating"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "units_count": {
                        "type": "integer"
                    },
                    "available_units_count": {
                        "type": "integer"
                    },
                    "floor_plans_count": {
                        "type": "integer"
                    },
                    "rent": {
                        "$ref": "#/components/schemas/RentRange"
                    },
                    "pricing_display": {
                        "$ref": "#/components/schemas/PricingDisplay"
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "contact": {
                        "$ref": "#/components/schemas/PropertyContact"
                    },
                    "urls": {
                        "$ref": "#/components/schemas/PropertyUrls"
                    },
                    "leasing": {
                        "$ref": "#/components/schemas/LeasingSettings"
                    },
                    "pet_policy": {
                        "$ref": "#/components/schemas/PetPolicySettings"
                    },
                    "pricing": {
                        "$ref": "#/components/schemas/PricingSettings"
                    },
                    "display": {
                        "$ref": "#/components/schemas/DisplaySettings"
                    },
                    "has": {
                        "$ref": "#/components/schemas/PropertyPresence"
                    },
                    "amenities": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Amenity"
                        },
                        "nullable": true,
                        "description": "Enabled amenities. Non-marketable ones are left out when the property's display settings say so. Null unless requested in `include`."
                    },
                    "announcements": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Announcement"
                        },
                        "nullable": true,
                        "description": "Enabled announcements active right now. Null unless requested in `include`."
                    },
                    "buildings": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Building"
                        },
                        "nullable": true,
                        "description": "Enabled buildings. Null unless requested in `include`."
                    },
                    "content": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContentGroup"
                        },
                        "nullable": true,
                        "description": "Enabled content blocks, optionally narrowed by `content_keys`. Null unless requested in `include`."
                    },
                    "faqs": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Faq"
                        },
                        "nullable": true,
                        "description": "FAQs in the property's order. Null unless requested in `include`."
                    },
                    "fees": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Fees"
                            }
                        ],
                        "nullable": true,
                        "description": "The fee schedule. Null unless requested in `include`."
                    },
                    "galleries": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Gallery"
                        },
                        "nullable": true,
                        "description": "Enabled galleries. Null unless requested in `include`."
                    },
                    "groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/GroupMembership"
                        },
                        "nullable": true,
                        "description": "Groups the property belongs to. Null unless requested in `include`."
                    },
                    "media": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PropertyMedia"
                            }
                        ],
                        "nullable": true,
                        "description": "The property's own media. Null unless requested in `include`."
                    },
                    "office_hours": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/OfficeHoursSettings"
                            }
                        ],
                        "nullable": true,
                        "description": "Office hours settings. Null unless requested in `include`."
                    }
                }
            },
            "PropertyDetailMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "includes",
                    "cache"
                ],
                "properties": {
                    "includes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The includes that were applied, sorted."
                    },
                    "cache": {
                        "$ref": "#/components/schemas/CacheMeta"
                    }
                }
            },
            "NeighborhoodOrigin": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "name",
                    "address",
                    "location"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string",
                        "nullable": true
                    },
                    "location": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GeoPoint"
                            }
                        ],
                        "nullable": true
                    }
                }
            },
            "NeighborhoodCategory": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "label",
                    "color",
                    "types",
                    "in_use"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "label": {
                        "type": "string",
                        "nullable": true
                    },
                    "color": {
                        "type": "string",
                        "nullable": true
                    },
                    "types": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "in_use": {
                        "type": "boolean",
                        "description": "Whether any place on this property uses the category."
                    }
                }
            },
            "TravelTimes": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "drive",
                    "walk",
                    "bike",
                    "transit"
                ],
                "properties": {
                    "drive": {
                        "type": "string",
                        "nullable": true
                    },
                    "walk": {
                        "type": "string",
                        "nullable": true
                    },
                    "bike": {
                        "type": "string",
                        "nullable": true
                    },
                    "transit": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "NeighborhoodPlace": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "name",
                    "address",
                    "location",
                    "category_id",
                    "category",
                    "color",
                    "rating",
                    "website",
                    "google_maps_url",
                    "place_id",
                    "tags",
                    "images",
                    "travel_times"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "address": {
                        "type": "string",
                        "nullable": true
                    },
                    "location": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GeoPoint"
                            }
                        ],
                        "nullable": true
                    },
                    "category_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "category": {
                        "type": "string",
                        "nullable": true
                    },
                    "color": {
                        "type": "string",
                        "nullable": true
                    },
                    "rating": {
                        "type": "number",
                        "nullable": true
                    },
                    "website": {
                        "type": "string",
                        "nullable": true
                    },
                    "google_maps_url": {
                        "type": "string",
                        "nullable": true
                    },
                    "place_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The place's tags."
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        }
                    },
                    "travel_times": {
                        "$ref": "#/components/schemas/TravelTimes"
                    }
                }
            },
            "Neighborhood": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "origin",
                    "categories",
                    "places"
                ],
                "properties": {
                    "origin": {
                        "$ref": "#/components/schemas/NeighborhoodOrigin"
                    },
                    "categories": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NeighborhoodCategory"
                        }
                    },
                    "places": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NeighborhoodPlace"
                        }
                    }
                }
            },
            "Review": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "source",
                    "reviewer_name",
                    "reviewer_photo_url",
                    "text",
                    "rating",
                    "reviewed_at",
                    "reply"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "source": {
                        "type": "string",
                        "nullable": true
                    },
                    "reviewer_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "reviewer_photo_url": {
                        "type": "string",
                        "nullable": true
                    },
                    "text": {
                        "type": "string",
                        "nullable": true
                    },
                    "rating": {
                        "type": "number",
                        "nullable": true
                    },
                    "reviewed_at": {
                        "type": "string",
                        "nullable": true
                    },
                    "reply": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ReviewReply"
                            }
                        ],
                        "nullable": true,
                        "description": "The property's published reply, or null."
                    }
                }
            },
            "ReviewListMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "rating",
                    "pagination",
                    "cache"
                ],
                "properties": {
                    "rating": {
                        "$ref": "#/components/schemas/Rating"
                    },
                    "pagination": {
                        "$ref": "#/components/schemas/Pagination"
                    },
                    "cache": {
                        "$ref": "#/components/schemas/CacheMeta"
                    }
                }
            },
            "InstagramMedia": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "type",
                    "url",
                    "thumbnail_url"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "image",
                            "video"
                        ]
                    },
                    "url": {
                        "type": "string",
                        "nullable": true
                    },
                    "thumbnail_url": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "InstagramPost": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "type",
                    "caption",
                    "hashtags",
                    "permalink",
                    "posted_at",
                    "media"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "image",
                            "video",
                            "reel",
                            "carousel"
                        ]
                    },
                    "caption": {
                        "type": "string",
                        "nullable": true
                    },
                    "hashtags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "permalink": {
                        "type": "string",
                        "nullable": true
                    },
                    "posted_at": {
                        "type": "string",
                        "nullable": true
                    },
                    "media": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/InstagramMedia"
                        }
                    }
                }
            },
            "InventoryFees": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "lines",
                    "monthly_total",
                    "monthly_total_max",
                    "upfront_total"
                ],
                "properties": {
                    "lines": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "One mandatory fee from the stored fee snapshot."
                        }
                    },
                    "monthly_total": {
                        "type": "number",
                        "nullable": true
                    },
                    "monthly_total_max": {
                        "type": "number",
                        "nullable": true
                    },
                    "upfront_total": {
                        "type": "number",
                        "nullable": true,
                        "description": "One-time mandatory fees due up front. Null when fee totals are hidden."
                    }
                },
                "description": "Mandatory monthly fees from the stored snapshot, under the property's pricing display settings. `rent.min` is base rent plus `monthly_total`."
            },
            "UnitType": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "slug",
                    "name"
                ],
                "properties": {
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "BuildingReference": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "number",
                    "code",
                    "name"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "number": {
                        "type": "string",
                        "nullable": true
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "UnitFloorPlan": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "slug",
                    "name",
                    "path",
                    "unit_type",
                    "image_2d",
                    "image_3d"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "path": {
                        "type": "string",
                        "nullable": true
                    },
                    "unit_type": {
                        "$ref": "#/components/schemas/UnitType"
                    },
                    "image_2d": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true
                    },
                    "image_3d": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true
                    }
                },
                "description": "The floor plan this unit renders under. For a grouped plan this is its primary."
            },
            "UnitFlags": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "featured",
                    "accessible",
                    "furnished",
                    "affordable",
                    "model",
                    "guest_suite",
                    "penthouse"
                ],
                "properties": {
                    "featured": {
                        "type": "boolean"
                    },
                    "accessible": {
                        "type": "boolean"
                    },
                    "furnished": {
                        "type": "boolean"
                    },
                    "affordable": {
                        "type": "boolean"
                    },
                    "model": {
                        "type": "boolean"
                    },
                    "guest_suite": {
                        "type": "boolean"
                    },
                    "penthouse": {
                        "type": "boolean"
                    }
                }
            },
            "UnitLinks": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "tour",
                    "quote",
                    "application"
                ],
                "properties": {
                    "tour": {
                        "type": "string",
                        "nullable": true
                    },
                    "quote": {
                        "type": "string",
                        "nullable": true
                    },
                    "application": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "UnitSqft": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "interior",
                    "exterior"
                ],
                "properties": {
                    "interior": {
                        "type": "number",
                        "nullable": true
                    },
                    "exterior": {
                        "type": "number",
                        "nullable": true
                    }
                }
            },
            "Unit": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "slug",
                    "path",
                    "number",
                    "floor",
                    "bedrooms",
                    "bathrooms",
                    "sqft",
                    "description",
                    "view_direction",
                    "is_available",
                    "available_on",
                    "rent",
                    "fees",
                    "deposit",
                    "specials",
                    "flags",
                    "links",
                    "sightmap_unit_id",
                    "tags",
                    "pdf_url",
                    "pdfs",
                    "images",
                    "videos",
                    "virtual_tours",
                    "amenities",
                    "building",
                    "floor_plan",
                    "groups",
                    "inherited_groups",
                    "property"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "path": {
                        "type": "string",
                        "nullable": true
                    },
                    "number": {
                        "type": "string",
                        "nullable": true
                    },
                    "floor": {
                        "type": "string",
                        "nullable": true
                    },
                    "bedrooms": {
                        "type": "number",
                        "nullable": true
                    },
                    "bathrooms": {
                        "type": "number",
                        "nullable": true
                    },
                    "sqft": {
                        "$ref": "#/components/schemas/UnitSqft"
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "view_direction": {
                        "type": "string",
                        "nullable": true
                    },
                    "is_available": {
                        "type": "boolean"
                    },
                    "available_on": {
                        "type": "string",
                        "nullable": true,
                        "description": "Date, YYYY-MM-DD."
                    },
                    "rent": {
                        "$ref": "#/components/schemas/RentRange"
                    },
                    "fees": {
                        "$ref": "#/components/schemas/InventoryFees"
                    },
                    "deposit": {
                        "type": "number",
                        "nullable": true
                    },
                    "specials": {
                        "type": "string",
                        "nullable": true
                    },
                    "flags": {
                        "$ref": "#/components/schemas/UnitFlags"
                    },
                    "links": {
                        "$ref": "#/components/schemas/UnitLinks"
                    },
                    "sightmap_unit_id": {
                        "type": "string",
                        "nullable": true,
                        "description": "The unit's id on the SightMap map, for locating it by id. The only third-party identifier published."
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "pdf_url": {
                        "type": "string",
                        "nullable": true
                    },
                    "pdfs": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Document"
                        },
                        "description": "Every PDF attached, in order. `pdf_url` is the first one's URL."
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        }
                    },
                    "videos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    },
                    "virtual_tours": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    },
                    "amenities": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Amenity"
                        }
                    },
                    "building": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BuildingReference"
                            }
                        ],
                        "nullable": true
                    },
                    "floor_plan": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/UnitFloorPlan"
                            }
                        ],
                        "nullable": true
                    },
                    "groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/GroupMembership"
                        }
                    },
                    "inherited_groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/InheritedGroupMembership"
                        }
                    },
                    "property": {
                        "$ref": "#/components/schemas/RecordReference"
                    }
                },
                "description": "Hidden and disabled units are never served."
            },
            "FloorPlanSqft": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "min",
                    "max"
                ],
                "properties": {
                    "min": {
                        "type": "number",
                        "nullable": true
                    },
                    "max": {
                        "type": "number",
                        "nullable": true
                    }
                }
            },
            "FloorPlanAvailability": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "available_now",
                    "coming_soon"
                ],
                "properties": {
                    "available_now": {
                        "type": "integer"
                    },
                    "coming_soon": {
                        "type": "integer"
                    }
                },
                "description": "Counts of enabled, unhidden, available units with an availability date, across the plan's group."
            },
            "FloorPlan": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "slug",
                    "path",
                    "name",
                    "marketing_name",
                    "code",
                    "description",
                    "unit_type",
                    "bedrooms",
                    "bathrooms",
                    "bedrooms_max",
                    "bathrooms_max",
                    "sqft",
                    "rent",
                    "fees",
                    "deposit",
                    "available_on",
                    "availability",
                    "has_specials",
                    "is_featured",
                    "sort_order",
                    "tags",
                    "image_2d",
                    "image_3d",
                    "pdf_url",
                    "pdfs",
                    "images",
                    "videos",
                    "virtual_tours",
                    "buildings",
                    "groups",
                    "inherited_groups",
                    "property",
                    "units"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "path": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "marketing_name": {
                        "type": "string",
                        "nullable": true,
                        "description": "The name the property's management system markets the plan under, when it differs."
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "unit_type": {
                        "$ref": "#/components/schemas/UnitType"
                    },
                    "bedrooms": {
                        "type": "number",
                        "nullable": true
                    },
                    "bathrooms": {
                        "type": "number",
                        "nullable": true
                    },
                    "bedrooms_max": {
                        "type": "number",
                        "nullable": true,
                        "description": "Equal to `bedrooms` unless the plan spans a range."
                    },
                    "bathrooms_max": {
                        "type": "number",
                        "nullable": true
                    },
                    "sqft": {
                        "$ref": "#/components/schemas/FloorPlanSqft"
                    },
                    "rent": {
                        "$ref": "#/components/schemas/RentRange"
                    },
                    "fees": {
                        "$ref": "#/components/schemas/InventoryFees"
                    },
                    "deposit": {
                        "$ref": "#/components/schemas/DepositRange"
                    },
                    "available_on": {
                        "type": "string",
                        "nullable": true,
                        "description": "Earliest availability date, YYYY-MM-DD."
                    },
                    "availability": {
                        "$ref": "#/components/schemas/FloorPlanAvailability"
                    },
                    "has_specials": {
                        "type": "boolean"
                    },
                    "is_featured": {
                        "type": "boolean"
                    },
                    "sort_order": {
                        "type": "integer",
                        "nullable": true
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "image_2d": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true
                    },
                    "image_3d": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true
                    },
                    "pdf_url": {
                        "type": "string",
                        "nullable": true
                    },
                    "pdfs": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Document"
                        },
                        "description": "Every PDF attached, in order. `pdf_url` is the first one's URL."
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        }
                    },
                    "videos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    },
                    "virtual_tours": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    },
                    "buildings": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/BuildingReference"
                        }
                    },
                    "groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/GroupMembership"
                        }
                    },
                    "inherited_groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/InheritedGroupMembership"
                        }
                    },
                    "property": {
                        "$ref": "#/components/schemas/RecordReference"
                    },
                    "units": {
                        "type": "array",
                        "nullable": true,
                        "items": {
                            "$ref": "#/components/schemas/Unit"
                        },
                        "description": "The group's units, at most 100 per plan by unit number. Null unless `include=units`. A plan with more is paged through GET /units?floor_plan=."
                    }
                },
                "description": "A primary or ungrouped floor plan. Grouped siblings render on their primary, so bounds, media and counts cover the whole group."
            },
            "IncludesPaginatedMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "includes",
                    "pagination",
                    "cache"
                ],
                "properties": {
                    "includes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "pagination": {
                        "$ref": "#/components/schemas/Pagination"
                    },
                    "cache": {
                        "$ref": "#/components/schemas/CacheMeta"
                    }
                }
            },
            "LeaseTermRent": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "months",
                    "rent"
                ],
                "properties": {
                    "months": {
                        "type": "integer"
                    },
                    "rent": {
                        "type": "number"
                    }
                }
            },
            "PriceMatrixRow": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "start_date",
                    "best_term",
                    "terms"
                ],
                "properties": {
                    "start_date": {
                        "type": "string",
                        "description": "Move-in date, YYYY-MM-DD."
                    },
                    "best_term": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/LeaseTermRent"
                            }
                        ],
                        "nullable": true,
                        "description": "The lowest rent in the row."
                    },
                    "terms": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LeaseTermRent"
                        }
                    }
                }
            },
            "PriceMatrixUnit": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "slug",
                    "number"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "number": {
                        "type": "string"
                    }
                }
            },
            "PriceMatrixMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "unit",
                    "cache"
                ],
                "properties": {
                    "unit": {
                        "$ref": "#/components/schemas/PriceMatrixUnit"
                    },
                    "cache": {
                        "$ref": "#/components/schemas/CacheMeta"
                    }
                }
            },
            "UnitTypeSummary": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "slug",
                    "name",
                    "bedrooms",
                    "units_count",
                    "available_units_count",
                    "rent",
                    "sqft",
                    "fees"
                ],
                "properties": {
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "bedrooms": {
                        "type": "number"
                    },
                    "units_count": {
                        "type": "integer"
                    },
                    "available_units_count": {
                        "type": "integer"
                    },
                    "rent": {
                        "$ref": "#/components/schemas/RentRange"
                    },
                    "sqft": {
                        "$ref": "#/components/schemas/FloorPlanSqft"
                    },
                    "fees": {
                        "$ref": "#/components/schemas/UnitTypeFees"
                    }
                },
                "description": "Rent bounds cover available units on properties whose pricing display settings show them."
            },
            "FacetCount": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "value",
                    "units_count",
                    "available_units_count"
                ],
                "properties": {
                    "value": {
                        "type": "number"
                    },
                    "units_count": {
                        "type": "integer"
                    },
                    "available_units_count": {
                        "type": "integer"
                    }
                }
            },
            "CityFacet": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "value",
                    "state",
                    "properties_count"
                ],
                "properties": {
                    "value": {
                        "type": "string"
                    },
                    "state": {
                        "type": "string",
                        "nullable": true
                    },
                    "properties_count": {
                        "type": "integer"
                    }
                }
            },
            "StateFacet": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "value",
                    "properties_count"
                ],
                "properties": {
                    "value": {
                        "type": "string"
                    },
                    "properties_count": {
                        "type": "integer"
                    }
                }
            },
            "Facets": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "properties_count",
                    "units_count",
                    "available_units_count",
                    "rent",
                    "sqft",
                    "bedrooms",
                    "bathrooms",
                    "cities",
                    "states"
                ],
                "properties": {
                    "properties_count": {
                        "type": "integer"
                    },
                    "units_count": {
                        "type": "integer"
                    },
                    "available_units_count": {
                        "type": "integer"
                    },
                    "rent": {
                        "$ref": "#/components/schemas/RentRange"
                    },
                    "sqft": {
                        "$ref": "#/components/schemas/FloorPlanSqft"
                    },
                    "bedrooms": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FacetCount"
                        }
                    },
                    "bathrooms": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FacetCount"
                        }
                    },
                    "cities": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CityFacet"
                        }
                    },
                    "states": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/StateFacet"
                        }
                    }
                }
            },
            "AvailabilityItem": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "slug",
                    "property_id",
                    "floor_plan_id",
                    "is_available",
                    "available_on",
                    "rent",
                    "updated_at"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "property_id": {
                        "type": "string"
                    },
                    "floor_plan_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "is_available": {
                        "type": "boolean"
                    },
                    "available_on": {
                        "type": "string",
                        "nullable": true
                    },
                    "rent": {
                        "$ref": "#/components/schemas/RentRange"
                    },
                    "updated_at": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "GroupNode": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "parent_id",
                    "label",
                    "slug",
                    "description",
                    "color",
                    "sort_order"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "parent_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "label": {
                        "type": "string",
                        "nullable": true
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "color": {
                        "type": "string",
                        "nullable": true
                    },
                    "sort_order": {
                        "type": "integer",
                        "nullable": true
                    }
                }
            },
            "GroupSet": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "key",
                    "name",
                    "object_type",
                    "allows_multiple_membership",
                    "property_slug",
                    "groups"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "key": {
                        "type": "string",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "object_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "allows_multiple_membership": {
                        "type": "boolean"
                    },
                    "property_slug": {
                        "type": "string",
                        "nullable": true,
                        "description": "Null for an account-wide set."
                    },
                    "groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/GroupNode"
                        },
                        "description": "Flat, in order. Build the tree from `parent_id`."
                    }
                }
            },
            "LeadSource": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "name",
                    "code",
                    "phone",
                    "email"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "phone": {
                        "type": "string",
                        "nullable": true
                    },
                    "email": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "SourceRuleCondition": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "type",
                    "parameter",
                    "pattern",
                    "value"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "nullable": true
                    },
                    "parameter": {
                        "type": "string",
                        "nullable": true
                    },
                    "pattern": {
                        "type": "string",
                        "nullable": true
                    },
                    "value": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "SourceRule": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "priority",
                    "lead_source_id",
                    "condition_operator",
                    "conditions"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "priority": {
                        "type": "integer"
                    },
                    "lead_source_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "condition_operator": {
                        "type": "string",
                        "description": "How `conditions` combine, for example `all` or `any`."
                    },
                    "conditions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SourceRuleCondition"
                        }
                    }
                },
                "description": "Rules are in priority order. The first rule whose conditions match picks `lead_source_id`."
            },
            "SourceResolution": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "source_observation_endpoint",
                    "click_id_params",
                    "rules"
                ],
                "properties": {
                    "source_observation_endpoint": {
                        "type": "string"
                    },
                    "click_id_params": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "rules": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SourceRule"
                        }
                    }
                }
            },
            "LeadSources": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "property",
                    "fallback_phone",
                    "fallback_email",
                    "external_source_field",
                    "sources",
                    "resolution"
                ],
                "properties": {
                    "property": {
                        "$ref": "#/components/schemas/RecordReference"
                    },
                    "fallback_phone": {
                        "type": "string",
                        "nullable": true
                    },
                    "fallback_email": {
                        "type": "string",
                        "nullable": true
                    },
                    "external_source_field": {
                        "type": "string",
                        "description": "The form field the property's CRM reads the source from."
                    },
                    "sources": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LeadSource"
                        }
                    },
                    "resolution": {
                        "$ref": "#/components/schemas/SourceResolution"
                    }
                }
            },
            "TourTypeOffer": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "type",
                    "label",
                    "redirect_url",
                    "fields"
                ],
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "label": {
                        "type": "string"
                    },
                    "redirect_url": {
                        "type": "string",
                        "nullable": true
                    },
                    "fields": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "One booking form field: its type and definition. The same schema validates the reservation."
                        }
                    }
                }
            },
            "Integration": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "type",
                    "key",
                    "name",
                    "category",
                    "settings",
                    "tour_types"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "The connection id. Pass it as `connection_id` when booking a tour."
                    },
                    "type": {
                        "type": "string"
                    },
                    "key": {
                        "type": "string",
                        "description": "`type` in camelCase."
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "category": {
                        "type": "string"
                    },
                    "settings": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Only the keys the connection type publishes. Embed codes, widget keys, tracking ids and SightMap display options; never a mapping id, inbox or credential."
                    },
                    "tour_types": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TourTypeOffer"
                        }
                    }
                },
                "description": "Listed only when the connection publishes a setting or offers a tour type. PMS, CRM, listing-feed and hosting connections never appear."
            },
            "PropertyIntegrations": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "property",
                    "integrations"
                ],
                "properties": {
                    "property": {
                        "$ref": "#/components/schemas/RecordReference"
                    },
                    "integrations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Integration"
                        }
                    }
                }
            },
            "FormField": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "key",
                    "type",
                    "label",
                    "placeholder",
                    "required",
                    "width",
                    "options",
                    "settings"
                ],
                "properties": {
                    "key": {
                        "type": "string",
                        "description": "The key a submission must send this field under, in `fields`."
                    },
                    "type": {
                        "type": "string",
                        "description": "`name`, `email`, `phone`, `message`, `move_in_date`, `text` or `select`."
                    },
                    "label": {
                        "type": "string",
                        "nullable": true
                    },
                    "placeholder": {
                        "type": "string",
                        "nullable": true
                    },
                    "required": {
                        "type": "boolean"
                    },
                    "width": {
                        "type": "string"
                    },
                    "options": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "settings": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Anything else the field defines, such as a minimum date."
                    }
                }
            },
            "FormSettings": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "disclaimer",
                    "redirect_url",
                    "success_message",
                    "submit_button_label"
                ],
                "properties": {
                    "disclaimer": {
                        "type": "string"
                    },
                    "redirect_url": {
                        "type": "string",
                        "nullable": true
                    },
                    "success_message": {
                        "type": "string"
                    },
                    "submit_button_label": {
                        "type": "string"
                    }
                }
            },
            "Form": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "key",
                    "name",
                    "type",
                    "fields",
                    "tour_types",
                    "settings",
                    "properties",
                    "submit_path"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "key": {
                        "type": "string",
                        "nullable": true,
                        "description": "The identifier a template places this form by."
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "type": {
                        "type": "string",
                        "nullable": true
                    },
                    "fields": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FormField"
                        }
                    },
                    "tour_types": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "description": "A tour type this form offers."
                        }
                    },
                    "settings": {
                        "$ref": "#/components/schemas/FormSettings"
                    },
                    "properties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RecordReference"
                        },
                        "description": "The website's properties this form serves."
                    },
                    "submit_path": {
                        "type": "string"
                    }
                }
            },
            "SubmissionResult": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "lead_id",
                    "message",
                    "redirect_url"
                ],
                "properties": {
                    "lead_id": {
                        "type": "string",
                        "nullable": true,
                        "description": "Null when the submission was discarded."
                    },
                    "message": {
                        "type": "string",
                        "description": "The form's success message."
                    },
                    "redirect_url": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "SubmissionMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "duplicate",
                    "discarded"
                ],
                "properties": {
                    "duplicate": {
                        "type": "boolean",
                        "description": "True when this Idempotency-Key was already processed; the original lead is returned."
                    },
                    "discarded": {
                        "type": "boolean",
                        "description": "True when the honeypot was filled. Show the visitor the same success."
                    }
                }
            },
            "FormSubmission": {
                "type": "object",
                "required": [
                    "fields"
                ],
                "additionalProperties": false,
                "properties": {
                    "property": {
                        "type": "string",
                        "description": "A property slug. Required only when the form serves more than one of this website's properties."
                    },
                    "fields": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Submitted values keyed by each field's `key` from GET /forms/{form}. `email` is always required. A key the form does not define is a 422."
                    },
                    "context": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Attribution and page context. Allowed keys: page_url, landing_url, referrer, user_agent, ip_address, utm_source, utm_medium, utm_campaign, utm_term, utm_content, gclid, gbraid, wbraid, msclkid, fbclid, ttclid, resi_source_key, resi_source_name, resi_visitor_id, resi_session_id, unit, floor_plan. Any other key is a 422."
                    },
                    "honeypot": {
                        "type": "string",
                        "description": "The value of the form's hidden trap input. Anything non-empty discards the submission while answering as if it succeeded."
                    }
                }
            },
            "EmptyMeta": {
                "type": "object",
                "additionalProperties": true,
                "description": "Reserved. Empty today."
            },
            "TourAvailability": {
                "type": "object",
                "additionalProperties": true,
                "description": "The provider's availability, normalised: `availability[]` of `{date, slots[{start, end}]}` plus the provider's timezone where it gives one."
            },
            "TourReservationResult": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "lead_id",
                    "message"
                ],
                "properties": {
                    "lead_id": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    }
                }
            },
            "TourAvailabilityRequest": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "property",
                    "connection_id",
                    "tour_type"
                ],
                "properties": {
                    "property": {
                        "type": "string",
                        "description": "A property slug on this website."
                    },
                    "connection_id": {
                        "type": "string",
                        "format": "uuid",
                        "description": "A tour integration's `id` from GET /integrations."
                    },
                    "tour_type": {
                        "type": "string",
                        "description": "One of the integration's `tour_types[].type`."
                    }
                }
            },
            "TourReservationRequest": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "property",
                    "connection_id",
                    "tour_type",
                    "tour_date",
                    "tour_time",
                    "fields"
                ],
                "properties": {
                    "property": {
                        "type": "string",
                        "description": "A property slug on this website."
                    },
                    "connection_id": {
                        "type": "string",
                        "format": "uuid",
                        "description": "A tour integration's `id` from GET /integrations."
                    },
                    "tour_type": {
                        "type": "string",
                        "description": "One of the integration's `tour_types[].type`."
                    },
                    "tour_date": {
                        "type": "string",
                        "description": "YYYY-MM-DD."
                    },
                    "tour_time": {
                        "type": "string",
                        "description": "HH:MM, 24 hour."
                    },
                    "fields": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Booking fields keyed as the integration's `tour_types[].fields` names them. A key the tour type does not define is a 422."
                    },
                    "context": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "The same allowed keys as a form submission's `context`."
                    }
                }
            },
            "DemandEventRequest": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "event_type",
                    "property"
                ],
                "properties": {
                    "event_type": {
                        "type": "string",
                        "description": "Only the events a page can observe. Leads and tour reservations are recorded by the endpoints that create them. Currently: unit_viewed, floor_plan_viewed, lease_term_selected, move_in_date_changed, price_matrix_loaded, fee_breakdown_viewed, fee_calculator_opened, apply_clicked, tour_modal_opened, form_started, and any other type Resi marks browser-ingestible."
                    },
                    "property": {
                        "type": "string",
                        "description": "A property slug on this website."
                    },
                    "occurred_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "unit": {
                        "type": "string",
                        "description": "A unit slug on this property."
                    },
                    "floor_plan": {
                        "type": "string",
                        "description": "A floor plan slug on this property."
                    },
                    "form_id": {
                        "type": "string",
                        "format": "uuid",
                        "description": "A form on this property."
                    },
                    "lead_source_name": {
                        "type": "string"
                    },
                    "resi_source_name": {
                        "type": "string"
                    },
                    "resi_source_key": {
                        "type": "string"
                    },
                    "resi_external_source_field": {
                        "type": "string"
                    },
                    "resi_source_query": {
                        "type": "string"
                    },
                    "resi_source_timestamp": {
                        "type": "string"
                    },
                    "resi_source_method": {
                        "type": "string"
                    },
                    "session_id": {
                        "type": "string"
                    },
                    "anonymous_id": {
                        "type": "string"
                    },
                    "move_in_date": {
                        "type": "string",
                        "format": "date"
                    },
                    "lease_term_months": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 36
                    },
                    "displayed_base_rent": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "displayed_tmlp": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "displayed_fee_total": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "destination_url": {
                        "type": "string"
                    },
                    "metadata": {
                        "type": "object",
                        "additionalProperties": true
                    }
                }
            },
            "DemandEventResult": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "event_type",
                    "status"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "event_type": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "recorded"
                        ]
                    }
                }
            },
            "SourceObservationRequest": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "property"
                ],
                "properties": {
                    "property": {
                        "type": "string",
                        "description": "A property slug on this website."
                    },
                    "occurred_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "session_id": {
                        "type": "string"
                    },
                    "anonymous_id": {
                        "type": "string"
                    },
                    "landing_url": {
                        "type": "string",
                        "description": "Stored with credentials and fragments dropped and only source-identifying query parameters kept."
                    },
                    "current_url": {
                        "type": "string"
                    },
                    "path": {
                        "type": "string"
                    },
                    "referrer": {
                        "type": "string"
                    },
                    "query_params": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Only UTM parameters, click ids, the CRM's source field and parameters the property's attribution rules read are stored."
                    },
                    "click_ids": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Only gclid, gbraid, wbraid, msclkid, fbclid and ttclid are stored, each capped at 512 characters. Any other key is dropped."
                    },
                    "external_source_field": {
                        "type": "string"
                    },
                    "external_source_value": {
                        "type": "string"
                    },
                    "resi_source_key": {
                        "type": "string"
                    },
                    "resi_source_name": {
                        "type": "string"
                    },
                    "match_status": {
                        "type": "string"
                    },
                    "metadata": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Keys that look personal or credential-shaped are stored as `[redacted]`."
                    }
                }
            },
            "SourceObservationResult": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "status",
                    "lead_source_id",
                    "resi_source_key",
                    "resi_source_name"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "description": "How the observation matched a lead source."
                    },
                    "lead_source_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "resi_source_key": {
                        "type": "string",
                        "nullable": true
                    },
                    "resi_source_name": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "TourReservationMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "duplicate"
                ],
                "properties": {
                    "duplicate": {
                        "type": "boolean",
                        "description": "True when this Idempotency-Key was already processed; the original booking is returned and nothing new is booked."
                    }
                }
            },
            "ContentField": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "key",
                    "label",
                    "type",
                    "required",
                    "help",
                    "options",
                    "fields",
                    "conditions"
                ],
                "properties": {
                    "key": {
                        "type": "string",
                        "description": "The key this field's value is stored under in an entry's `data`."
                    },
                    "label": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "description": "`text`, `textarea`, `rich_text`, `number`, `boolean`, `date`, `datetime`, `select`, `multi_select`, `email`, `url`, `phone`, `image`, `images`, `file`, `video`, `property`, `property_group`, `entry_reference`, `repeater`, `group`, `colour`, `markdown` or `json`. New types may be added."
                    },
                    "required": {
                        "type": "boolean"
                    },
                    "help": {
                        "type": "string",
                        "nullable": true
                    },
                    "options": {
                        "type": "object",
                        "nullable": true,
                        "additionalProperties": true,
                        "description": "For `select` and `multi_select`: a map of stored value to label. Null otherwise."
                    },
                    "fields": {
                        "type": "array",
                        "nullable": true,
                        "items": {
                            "$ref": "#/components/schemas/ContentField"
                        },
                        "description": "For `repeater` and `group`: the nested fields. Null otherwise."
                    },
                    "conditions": {
                        "type": "object",
                        "nullable": true,
                        "additionalProperties": true,
                        "description": "Show this field only when sibling fields at the same level match: `{sibling_key: value}` or `{sibling_key: [any, of, these]}`."
                    }
                }
            },
            "ContentType": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "key",
                    "singular",
                    "plural",
                    "scope",
                    "url_pattern",
                    "template",
                    "schema_type",
                    "expiry_field",
                    "fields"
                ],
                "properties": {
                    "key": {
                        "type": "string",
                        "description": "What `/entries/{type}` accepts."
                    },
                    "singular": {
                        "type": "string"
                    },
                    "plural": {
                        "type": "string"
                    },
                    "scope": {
                        "type": "string",
                        "enum": [
                            "account",
                            "site",
                            "library"
                        ]
                    },
                    "url_pattern": {
                        "type": "string",
                        "nullable": true,
                        "description": "The pattern THIS website uses for the type, for example `/team/{slug}`. Null when its entries have no page of their own."
                    },
                    "template": {
                        "type": "string",
                        "description": "The template this website renders the type with. `default` unless the website chose another."
                    },
                    "schema_type": {
                        "type": "string",
                        "nullable": true,
                        "description": "The schema.org type its entries' JSON-LD uses."
                    },
                    "expiry_field": {
                        "type": "string",
                        "nullable": true,
                        "description": "The field key whose date expires an entry."
                    },
                    "fields": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContentField"
                        }
                    }
                }
            },
            "InheritedGroupMembership": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "label",
                    "slug",
                    "set",
                    "via"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "label": {
                        "type": "string",
                        "nullable": true
                    },
                    "slug": {
                        "type": "string",
                        "nullable": true
                    },
                    "set": {
                        "$ref": "#/components/schemas/GroupSetReference"
                    },
                    "via": {
                        "type": "string",
                        "enum": [
                            "property",
                            "building",
                            "floor_plan"
                        ],
                        "description": "The containing record the membership comes from."
                    }
                },
                "description": "A group the record belongs to through what contains it. `groups` and `inherited_groups` together name every group the `group` filter can match the record on."
            },
            "Document": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "url",
                    "title"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string",
                        "nullable": true
                    },
                    "title": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "DepositRange": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "min",
                    "max"
                ],
                "properties": {
                    "min": {
                        "type": "number",
                        "nullable": true
                    },
                    "max": {
                        "type": "number",
                        "nullable": true
                    }
                }
            },
            "FaqTopic": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "id",
                    "title",
                    "description",
                    "sort_order"
                ],
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string",
                        "nullable": true
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "sort_order": {
                        "type": "integer",
                        "nullable": true
                    }
                }
            },
            "ReviewReply": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "text",
                    "replied_at"
                ],
                "properties": {
                    "text": {
                        "type": "string"
                    },
                    "replied_at": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "UnitTypeFees": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "monthly_total",
                    "monthly_total_max"
                ],
                "properties": {
                    "monthly_total": {
                        "type": "number",
                        "nullable": true,
                        "description": "Lowest mandatory monthly fee total among available units."
                    },
                    "monthly_total_max": {
                        "type": "number",
                        "nullable": true
                    }
                },
                "description": "Null values when the pricing display settings hide fee totals, or nothing is available."
            },
            "PropertyMedia": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "property_images",
                    "images",
                    "background_image",
                    "videos",
                    "virtual_tours"
                ],
                "properties": {
                    "property_images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        },
                        "description": "Every property image. The card's `image` is the first."
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Image"
                        }
                    },
                    "background_image": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Image"
                            }
                        ],
                        "nullable": true
                    },
                    "videos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    },
                    "virtual_tours": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Embed"
                        }
                    }
                }
            },
            "ListedCount": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "total",
                    "listed"
                ],
                "properties": {
                    "total": {
                        "type": "integer"
                    },
                    "listed": {
                        "type": "integer",
                        "description": "How many of `total` this response holds."
                    }
                }
            },
            "SiteMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "properties",
                    "cache"
                ],
                "properties": {
                    "properties": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ListedCount"
                            }
                        ],
                        "description": "The manifest carries at most 500 property cards. When `listed` is below `total`, read the rest from GET /properties."
                    },
                    "cache": {
                        "$ref": "#/components/schemas/CacheMeta"
                    }
                }
            },
            "NeighborhoodMeta": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "places",
                    "cache"
                ],
                "properties": {
                    "places": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ListedCount"
                            }
                        ],
                        "description": "How many places the property has, and how many `limit` let through."
                    },
                    "cache": {
                        "$ref": "#/components/schemas/CacheMeta"
                    }
                }
            },
            "SiteSearch": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "app_id",
                    "search_key",
                    "indices"
                ],
                "properties": {
                    "app_id": {
                        "type": "string",
                        "description": "The Algolia application id."
                    },
                    "search_key": {
                        "type": "string",
                        "description": "A search-only key limited to this site's indices and domains. Safe to publish to the browser."
                    },
                    "indices": {
                        "$ref": "#/components/schemas/SiteSearchIndices"
                    }
                }
            },
            "SiteSearchIndices": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "properties",
                    "units"
                ],
                "properties": {
                    "properties": {
                        "type": "string",
                        "nullable": true,
                        "description": "The properties index, when the site has one."
                    },
                    "units": {
                        "type": "string",
                        "nullable": true,
                        "description": "The units index, when the site has one."
                    }
                }
            }
        }
    }
}
