Scope a property turnover
Turn move-out / turnover inspection findings for a US rental unit into a priced make-ready scope: standardized tasks by trade, regional low/expected/high costs, must/should/could priorities, vendor scopes, refer-outs to licensed professionals, and every assumption stated. When to use: Turnover findings for a US rental unit when you need control: rooms, measured quantities, the manager's own prices (rate_card) or owner approve/decline decisions. For a plain-English estimate, property_turnover_quick_estimate is easier. Not for: Diagnosing hazards (they come back as refer-outs to a licensed professional); legal advice on deposits; remodel bids; properties outside the US. Tip: If the ZIP is missing or not exactly 5 digits, ask the user; never guess or pad it. Tip: From photos, describe only what is visible, with its room (location); an issue code only if one clearly fits. Hedge doubtful ones ("possible", "?") and ask the user about what photos cannot show: working appliances, odors, pests, sizes. Never state that a tenant caused damage because of a photo; responsibility stays a hint from the engine. Send no faces, names or addresses. A photo of a written checklist or report is different, so transcribe it as written. Tip: Describe each finding in plain words (description). Only send a code returned by property_turnover_issue_codes. Words the matcher cannot place come back as a manual-quote line with suggested codes. With read set to ai, an AI model reads them first: the answer is a draft and reading.findings lists what it read. Tip: To confirm an AI reading, send the findings from reading.findings (keep each one's extraction, correct any the user changes) with confirmed true on each one the user checked. The answer is then verified and still shows which findings were read by AI. Tip: Give measured quantities when you have them (e.g. 120 sq_ft); otherwise typical sizes are assumed and listed in assumptions. Tip: Send property.floor_coverings when you know whether there is carpet, and unit_type single_family for houses; both change the baseline scope. Tip: Relay the summary, refer_outs, assumptions and unknowns to the user; costs are estimate ranges, not quotes. Tip: Use detail=summary unless the user asks for every line item (summary already lists every line tied to a finding). Tip: Rate card examples - {"trade": "handyman", "unit_price": 65, "uom": "hour"} or {"task_id": "carpet.clean", "unit_price": 0.2, "uom": "sq_ft"}; check rate_card_applied and rate_card_ignored before saying a rate was used. Tip: For the Excel workbook or owner estimate, give the user links.web_tool_prefilled (opens the free web tool with these findings) or POST the same arguments to links.downloads; do not build a spreadsheet yourself. The same findings under the same ruleset return the same result_hash. An AI model may read notes into findings, marked for review (review, reading); it never sets a number. Capability property-turnover v0.14.0 (experimental).
Request
- Base URL: https://tektolo.com (the document declares no server; this is the origin it was published from)
- URL: https://tektolo.com/v1/property-turnover/scope
- Auth: none declared
Headers
Optional. The ruleset version you built against, as results carry it in provenance.ruleset_version (e.g. 'sd-2026.11.14'), or its sha256: hash. If the rules have changed since, the call fails (nothing computed, nothing charged) and says what is in force now, so you upgrade on your own schedule. Leave it out to answer under the current rules.
Optional, with Tektolo-Ruleset. 'serve' asks us to answer under the ruleset version you named even when the rules have changed since, from that version's signed bundle. The answer says so (run.served_from_bundle and the Tektolo-Ruleset-Served header). We refuse (412, with a reason) a version older than 12 months, one a later correction or law change replaced for your state, or one we have no bundle for. Leave it out to be refused whenever the rules have changed.
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.