{"openapi":"3.1.0","info":{"title":"LodgeDeck API","version":"1.0.0","description":"LodgeDeck tells short-term rental hosts whether they can run an Airbnb in a given city, what licence or permit it needs, and the exact occupancy and lodging tax a guest pays, with a citation to the jurisdiction's own page behind every field. Where a value is not confirmed on an official source it is marked Unverified rather than guessed. The same cited dataset is a single-key JSON API and an MCP server, so travel, proptech and tax agents can look up STR rules and lodging tax mid-task. Hosts also get free calculators and an iCal calendar that merges Airbnb, Vrbo and Booking.com bookings into one turnover schedule.","contact":{"name":"LodgeDeck","url":"https://lodgedeck.vercel.app","email":"hello@lodgedeck.com"}},"servers":[{"url":"https://lodgedeck.vercel.app"}],"security":[{},{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"ld_live_*"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]},"Fact":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"JurisdictionSummary":{"type":"object","properties":{"slug":{"type":"string","description":"Stable id, e.g. austin-tx. Pass this as ?city=."},"city":{"type":"string"},"state":{"type":"string"},"state_code":{"type":"string"},"population":{"type":["integer","null"]},"coverage":{"type":"object","properties":{"known_fields":{"type":"integer"},"total_fields":{"type":"integer"}}},"str_rules":{"type":"string","format":"uri"},"lodging_tax":{"type":"string","format":"uri"}},"required":["slug","city","state","state_code"]},"StrRules":{"type":"object","properties":{"slug":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"state_code":{"type":"string"},"summary":{"type":"string"},"last_verified":{"type":"string","format":"date"},"rules":{"type":"object","properties":{"permit_required":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"primary_residence_required":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"night_cap":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"zoning_restricted":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"listing_number_display_required":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"registration_url":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"enforcement":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]}},"required":["permit_required","primary_residence_required","night_cap","zoning_restricted","listing_number_display_required","registration_url","enforcement"]}},"required":["slug","city","state","state_code","rules"]},"LodgingTax":{"type":"object","properties":{"slug":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"state_code":{"type":"string"},"last_verified":{"type":"string","format":"date"},"tax":{"type":"object","properties":{"state_lodging_tax_rate_pct":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"local_tot_rate_pct":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"combined_rate_pct":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"cleaning_fee_taxable":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"marketplace_collects":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"filing_url":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]}},"required":["state_lodging_tax_rate_pct","local_tot_rate_pct","combined_rate_pct","cleaning_fee_taxable","marketplace_collects","filing_url"]}},"required":["slug","city","state","state_code","tax"]},"Eligibility":{"type":"object","properties":{"slug":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"use_type":{"type":"string","enum":["primary_residence","whole_home","adu","unhosted"]},"verdict":{"type":"string","enum":["likely_allowed","allowed_with_permit","restricted","unknown"]},"headline":{"type":"string"},"requirements":{"type":"array","items":{"type":"string"}},"cautions":{"type":"array","items":{"type":"string"}},"confidence":{"type":"string","enum":["high","medium","low"]},"citations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"source":{"type":"string","format":"uri"}}}}},"required":["slug","city","verdict","headline","requirements","cautions","confidence","citations"]}}},"paths":{"/api/v1/jurisdictions":{"get":{"summary":"List every jurisdiction covered, with its slug, city, state and a coverage count of how many rule and tax fields are confirmed. Free, keyless, throttled by IP. The index an agent reads first to learn what it can ask about.","operationId":"get_api_v1_jurisdictions","security":[{},{"bearerAuth":[]}],"parameters":[{"name":"q","in":"query","required":false,"description":"Optional case-insensitive filter over city and state name.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","description":"Stable id, e.g. austin-tx. Pass this as ?city=."},"city":{"type":"string"},"state":{"type":"string"},"state_code":{"type":"string"},"population":{"type":["integer","null"]},"coverage":{"type":"object","properties":{"known_fields":{"type":"integer"},"total_fields":{"type":"integer"}}},"str_rules":{"type":"string","format":"uri"},"lodging_tax":{"type":"string","format":"uri"}},"required":["slug","city","state","state_code"]}},"count":{"type":"integer"},"request_id":{"type":"string"},"attribution":{"type":"string","description":"Present on free/anonymous responses only."}},"required":["data","request_id"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}}}}},"/api/v1/str-rules":{"get":{"summary":"Short-term rental rules for one jurisdiction: whether a licence is required, primary-residence rule, night cap, zoning, listing-number display, and enforcement notes. Every field carries a source URL and a confidence flag; an unconfirmed field is null with confidence \"unverified\", never guessed.","operationId":"get_api_v1_str_rules","security":[{},{"bearerAuth":[]}],"parameters":[{"name":"city","in":"query","required":true,"description":"Jurisdiction slug (e.g. austin-tx) or a \"City, ST\" string.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"slug":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"state_code":{"type":"string"},"summary":{"type":"string"},"last_verified":{"type":"string","format":"date"},"rules":{"type":"object","properties":{"permit_required":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"primary_residence_required":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"night_cap":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"zoning_restricted":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"listing_number_display_required":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"registration_url":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"enforcement":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]}},"required":["permit_required","primary_residence_required","night_cap","zoning_restricted","listing_number_display_required","registration_url","enforcement"]}},"required":["slug","city","state","state_code","rules"]},"request_id":{"type":"string"},"attribution":{"type":"string"}},"required":["data","request_id"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}},"404":{"description":"No such jurisdiction","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}}}}},"/api/v1/lodging-tax":{"get":{"summary":"Lodging / occupancy tax for one jurisdiction: state rate, local transient occupancy tax, the combined rate a guest pays, whether the cleaning fee is taxable, and whether the marketplace collects and remits. Each field is source-cited with a confidence flag.","operationId":"get_api_v1_lodging_tax","security":[{},{"bearerAuth":[]}],"parameters":[{"name":"city","in":"query","required":true,"description":"Jurisdiction slug (e.g. san-diego-ca) or a \"City, ST\" string.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"slug":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"state_code":{"type":"string"},"last_verified":{"type":"string","format":"date"},"tax":{"type":"object","properties":{"state_lodging_tax_rate_pct":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"local_tot_rate_pct":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"combined_rate_pct":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"cleaning_fee_taxable":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"marketplace_collects":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]},"filing_url":{"type":"object","description":"A single cited fact. `value` is null when unconfirmed; `confidence` never lies about how sure we are.","properties":{"value":{"type":["string","number","boolean","null"],"description":"The value, or null when unconfirmed."},"source":{"type":["string","null"],"format":"uri","description":"The jurisdiction/official page the value came from, or null."},"confidence":{"type":"string","enum":["verified","reported","unverified"]},"note":{"type":"string","description":"Optional clarifying note."}},"required":["value","source","confidence"]}},"required":["state_lodging_tax_rate_pct","local_tot_rate_pct","combined_rate_pct","cleaning_fee_taxable","marketplace_collects","filing_url"]}},"required":["slug","city","state","state_code","tax"]},"request_id":{"type":"string"},"attribution":{"type":"string"}},"required":["data","request_id"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}},"404":{"description":"No such jurisdiction","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}}}}},"/api/v1/check-eligibility":{"post":{"summary":"Deterministic \"can I run an STR here?\" answer for a jurisdiction and use type. Returns a verdict, the requirements, the cautions, a confidence, and the citations behind them. No model: same input always gives the same answer. When the governing rules are unknown it says so rather than guessing.","operationId":"post_api_v1_check_eligibility","security":[{},{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"slug":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"use_type":{"type":"string","enum":["primary_residence","whole_home","adu","unhosted"]},"verdict":{"type":"string","enum":["likely_allowed","allowed_with_permit","restricted","unknown"]},"headline":{"type":"string"},"requirements":{"type":"array","items":{"type":"string"}},"cautions":{"type":"array","items":{"type":"string"}},"confidence":{"type":"string","enum":["high","medium","low"]},"citations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"source":{"type":"string","format":"uri"}}}}},"required":["slug","city","verdict","headline","requirements","cautions","confidence","citations"]},"request_id":{"type":"string"},"attribution":{"type":"string"}},"required":["data","request_id"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}},"404":{"description":"No such jurisdiction","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"city":{"type":"string","description":"Jurisdiction slug (e.g. nashville-tn) or a \"City, ST\" string."},"use_type":{"type":"string","enum":["primary_residence","whole_home","adu","unhosted"]}},"required":["city","use_type"]}}}}}},"/api/v1/pricing":{"get":{"summary":"Machine-readable pricing: plans, saved-property limits, included API calls, per-call overage, rate limits and features.","operationId":"get_api_v1_pricing","security":[{},{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"unit":{"type":"string"},"currency":{"type":"string"},"anonymous":{"type":"object","properties":{"price_usd":{"type":"number"},"rate_limit_per_minute":{"type":"integer"},"rate_limit_per_day":{"type":"integer"},"api_access":{"type":"boolean"},"note":{"type":"string"}}},"plans":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["free","pro","scale"]},"name":{"type":"string"},"price_usd_per_month":{"type":"number"},"saved_properties":{"description":"An integer, or the string \"unlimited\"."},"monitored_watches":{"description":"An integer, or the string \"unlimited\"."},"included_api_calls_per_month":{"type":"integer"},"overage_usd_per_call":{"type":"number"},"rate_limit_per_minute":{"type":"integer"},"seats":{"type":"integer"},"api_access":{"type":"boolean"},"mcp_access":{"type":"boolean"},"change_monitoring":{"type":"boolean"},"turnover_automation":{"type":"boolean"},"exports":{"type":"boolean"},"features":{"type":"array","items":{"type":"string"}}}}}},"required":["unit","currency","anonymous","plans"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_request","not_found","unauthorized","upgrade_required","payload_too_large","unsupported_media_type","unprocessable","rate_limited","not_configured","upstream_unavailable","upstream_timeout","internal"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"request_id":{"type":"string"}},"required":["error"]}}}}}}}}}