{"openapi":"3.1.0","info":{"title":"Stayi public modeling tools","version":"0.2.0","description":"Stateless geometry processing. No account, file fetch, hosted inference, saved home or public link. Geometry is sent to Stayi and returned to the calling provider; original files stay with your assistant."},"servers":[{"url":"https://stayi.co"}],"paths":{"/api/agent/stayi_model_guide":{"post":{"operationId":"stayi_model_guide","summary":"Read the home modeling guide","description":"Read the canonical home-building/1 schema, source-reading instructions, limits and free stateless workflow. No account needed.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Result returned without persistence","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Malformed or unsupported request"},"422":{"description":"Invalid model/tool arguments; no change made"},"429":{"description":"Request quota exceeded; retry later"}}}},"/api/agent/stayi_model_example":{"post":{"operationId":"stayi_model_example","summary":"Get a sample floor plan","description":"Return a fictional two-room dimensioned model for testing Stayi. Not a customer home or source-accuracy benchmark.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Result returned without persistence","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Malformed or unsupported request"},"422":{"description":"Invalid model/tool arguments; no change made"},"429":{"description":"Request quota exceeded; retry later"}}}},"/api/agent/stayi_trace_compile":{"post":{"operationId":"stayi_trace_compile","summary":"Calculate a source-traced floor","description":"Calculate scale, wall faces, junctions, opening centers and inner room boundaries from supplied home-source-trace/1 observations. Does not read files or identify symbols. Returns unresolved source-size differences; review them before preview.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"trace":{"type":"object","properties":{"schemaVersion":{"enum":["home-source-trace/1"]},"title":{"type":"string","minLength":1,"maxLength":300},"fileName":{"type":"string","minLength":1,"maxLength":300},"scope":{"type":"string","minLength":1,"maxLength":300},"frame":{"type":"object","properties":{"width":{"type":"number","minimum":1,"maximum":100000},"height":{"type":"number","minimum":1,"maximum":100000},"origin":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2},"xDirection":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2},"maxItems":2,"minItems":2},"zSide":{"enum":["left","right"]}},"required":["width","height","origin","xDirection","zSide"],"additionalProperties":false},"level":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"page":{"type":"integer","minimum":1,"maximum":100},"sheet":{"type":"string","minLength":1,"maxLength":300},"elevationFeet":{"type":"number","minimum":-1000,"maximum":1000},"heightFeet":{"type":"number","minimum":0.05,"maximum":1000},"clearHeightFeet":{"type":"number","minimum":0.05,"maximum":1000},"slabThicknessFeet":{"type":"number","minimum":0.05,"maximum":1000},"controls":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":300},"basis":{"enum":["printed","user-provided"]},"axis":{"enum":["x","z"]},"start":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2},"feet":{"type":"number","minimum":0.05,"maximum":1000},"footprintIndices":{"type":"array","items":{"type":"integer","minimum":0,"maximum":99},"maxItems":2,"minItems":2}},"required":["label","basis","axis","start","end","feet","footprintIndices"],"additionalProperties":false},"maxItems":10,"minItems":2},"footprint":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"exteriorEdges":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"widthFeet":{"type":"number","minimum":0.05,"maximum":1000}},"required":["id","widthFeet"],"additionalProperties":false},"maxItems":80,"minItems":3},"walls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"start":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2},"widthFeet":{"type":"number","minimum":0.05,"maximum":1000},"reference":{"enum":["centerline","face-left","face-right"],"description":"Relative to the directed segment in SOURCE coordinates. face-left is on its positive 90-degree normal (-dy, dx); face-right is the opposite side. The compiler handles source-frame handedness."},"joinStartWallId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"joinEndWallId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"}},"required":["id","start","end","widthFeet","reference"],"additionalProperties":false},"maxItems":80,"minItems":0},"openings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"hostWallId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"jambs":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2},"maxItems":2,"minItems":2},"kind":{"enum":["door","window","passage","slider","garage"]},"sillFeet":{"type":"number","minimum":0,"maximum":40},"heightFeet":{"type":"number","minimum":0.05,"maximum":1000},"widthFeet":{"type":"number","minimum":0.05,"maximum":1000},"widthBasis":{"enum":["printed","user-provided"]},"note":{"type":"string","minLength":1,"maxLength":300}},"required":["id","hostWallId","jambs","kind","sillFeet","heightFeet","note"],"additionalProperties":false},"maxItems":80,"minItems":0},"zones":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"usage":{"type":"string","minLength":1,"maxLength":300},"polygon":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"labelPosition":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2}},"required":["id","name","usage","polygon","labelPosition"],"additionalProperties":false},"maxItems":30,"minItems":1},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-100000,"maximum":100000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"assumptions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":300},"maxItems":12,"minItems":0}},"required":["id","name","page","sheet","elevationFeet","heightFeet","clearHeightFeet","slabThicknessFeet","controls","footprint","exteriorEdges","walls","openings","zones","holes","assumptions"],"additionalProperties":false}},"required":["schemaVersion","title","fileName","scope","frame","level"],"additionalProperties":false}},"required":["trace"],"additionalProperties":false}}}},"responses":{"200":{"description":"Result returned without persistence","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Malformed or unsupported request"},"422":{"description":"Invalid model/tool arguments; no change made"},"429":{"description":"Request quota exceeded; retry later"}}}},"/api/agent/stayi_room_boundaries":{"post":{"operationId":"stayi_room_boundaries","summary":"Calculate inner room boundaries","description":"Calculate inner floor polygons from supplied source zones, walls and holes. Reports changes; rejects outside/split regions and excessive loss. Does not infer or save a layout.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"level":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"elevationFeet":{"type":"number","minimum":-1000,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000},"clearHeightFeet":{"type":"number","minimum":0,"maximum":1000},"slabThicknessFeet":{"type":"number","minimum":0,"maximum":1000},"footprint":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"walls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"role":{"enum":["exterior","interior"]},"start":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"dimensions":{"type":"object","properties":{"lengthFeet":{"type":"number","minimum":0,"maximum":1000},"widthFeet":{"type":"number","minimum":0,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["lengthFeet","widthFeet","heightFeet"],"additionalProperties":false},"openings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"hostWallId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"kind":{"enum":["door","window","passage","slider","garage"]},"offsetFeet":{"type":"number","minimum":0,"maximum":1000},"sillFeet":{"type":"number","minimum":0,"maximum":1000},"hinge":{"enum":["start","end"]},"swingSide":{"enum":[1,-1]},"dimensions":{"type":"object","properties":{"lengthFeet":{"type":"number","minimum":0,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["lengthFeet","heightFeet"],"additionalProperties":false}},"required":["id","kind","offsetFeet","sillFeet","dimensions"],"additionalProperties":false},"maxItems":30,"minItems":0}},"required":["id","start","end","dimensions","openings"],"additionalProperties":false},"maxItems":80,"minItems":1},"sourceSheet":{"type":"string","minLength":1,"maxLength":300},"sourcePage":{"type":"integer","minimum":1,"maximum":100}},"required":["id","name","elevationFeet","heightFeet","clearHeightFeet","slabThicknessFeet","footprint","holes","walls"],"additionalProperties":false},"zones":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"usage":{"type":"string","minLength":1,"maxLength":300},"polygon":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"labelPosition":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2}},"required":["id","name","usage","polygon","labelPosition"],"additionalProperties":false},"maxItems":30,"minItems":1}},"required":["level","zones"],"additionalProperties":false}}}},"responses":{"200":{"description":"Result returned without persistence","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Malformed or unsupported request"},"422":{"description":"Invalid model/tool arguments; no change made"},"429":{"description":"Request quota exceeded; retry later"}}}},"/api/agent/stayi_model_validate":{"post":{"operationId":"stayi_model_validate","summary":"Check a dimensioned model","description":"Validate the whole supplied canonical model and linked X/Z evidence. Return exact failures without modifying or storing it. Passing checks is not source accuracy.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"building":{"type":"object","properties":{"schemaVersion":{"enum":["home-building/1"]},"units":{"enum":["feet"]},"projectId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"revisionId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"address":{"type":"string","minLength":1,"maxLength":300},"source":{"type":"object","properties":{"kind":{"enum":["assistant-draft"]},"fileName":{"type":"string","minLength":1,"maxLength":300}},"required":["kind","fileName"],"additionalProperties":false},"review":{"enum":["Unreviewed AI reconstruction; original source not verified by Home Preview."]},"scope":{"type":"string","minLength":1,"maxLength":300},"issues":{"type":"array","items":{"type":"string","minLength":1,"maxLength":300},"maxItems":40,"minItems":0},"levels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"elevationFeet":{"type":"number","minimum":-1000,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000},"clearHeightFeet":{"type":"number","minimum":0,"maximum":1000},"slabThicknessFeet":{"type":"number","minimum":0,"maximum":1000},"footprint":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"walls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"role":{"enum":["exterior","interior"]},"start":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"dimensions":{"type":"object","properties":{"lengthFeet":{"type":"number","minimum":0,"maximum":1000},"widthFeet":{"type":"number","minimum":0,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["lengthFeet","widthFeet","heightFeet"],"additionalProperties":false},"openings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"hostWallId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"kind":{"enum":["door","window","passage","slider","garage"]},"offsetFeet":{"type":"number","minimum":0,"maximum":1000},"sillFeet":{"type":"number","minimum":0,"maximum":1000},"hinge":{"enum":["start","end"]},"swingSide":{"enum":[1,-1]},"dimensions":{"type":"object","properties":{"lengthFeet":{"type":"number","minimum":0,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["lengthFeet","heightFeet"],"additionalProperties":false}},"required":["id","kind","offsetFeet","sillFeet","dimensions"],"additionalProperties":false},"maxItems":30,"minItems":0}},"required":["id","start","end","dimensions","openings"],"additionalProperties":false},"maxItems":80,"minItems":1},"rooms":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"usage":{"type":"string","minLength":1,"maxLength":300},"polygon":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"labelPosition":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2}},"required":["id","name","usage","polygon","labelPosition"],"additionalProperties":false},"maxItems":30,"minItems":1},"sourceSheet":{"type":"string","minLength":1,"maxLength":300},"sourcePage":{"type":"integer","minimum":1,"maximum":100}},"required":["id","name","elevationFeet","heightFeet","clearHeightFeet","slabThicknessFeet","footprint","holes","walls","rooms"],"additionalProperties":false},"maxItems":6,"minItems":1},"stairs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"fromLevel":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"toLevel":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"widthFeet":{"type":"number","minimum":0,"maximum":1000},"flights":{"type":"array","items":{"type":"object","properties":{"start":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"risers":{"type":"integer","minimum":1,"maximum":60},"bottomFeet":{"type":"number","minimum":0,"maximum":1000},"topFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["start","end","risers","bottomFeet","topFeet"],"additionalProperties":false},"maxItems":20,"minItems":1},"landings":{"type":"array","items":{"type":"object","properties":{"polygon":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"elevationFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["polygon","elevationFeet"],"additionalProperties":false},"maxItems":20,"minItems":0}},"required":["id","name","fromLevel","toLevel","widthFeet","flights","landings"],"additionalProperties":false},"maxItems":10,"minItems":0}},"required":["schemaVersion","units","projectId","revisionId","source","review","scope","issues","levels"],"additionalProperties":false},"evidence":{"type":"object","maxProperties":6,"additionalProperties":{"type":"object","properties":{"sheet":{"type":"string","minLength":1,"maxLength":300},"dimensions":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":300},"feet":{"type":"number","minimum":0.1,"maximum":1000},"axis":{"enum":["x","z"]},"basis":{"enum":["printed","user-provided"]},"modelSpan":{"type":"object","properties":{"from":{"type":"object","properties":{"kind":{"enum":["footprint","room","wall"]},"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"index":{"type":"integer","minimum":0,"maximum":99}},"required":["kind","id","index"],"additionalProperties":false},"to":{"type":"object","properties":{"kind":{"enum":["footprint","room","wall"]},"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"index":{"type":"integer","minimum":0,"maximum":99}},"required":["kind","id","index"],"additionalProperties":false}},"required":["from","to"],"additionalProperties":false}},"required":["label","feet","axis","basis","modelSpan"],"additionalProperties":false},"maxItems":10,"minItems":2},"assumptions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":300},"maxItems":12,"minItems":0}},"required":["sheet","dimensions","assumptions"],"additionalProperties":false}}},"required":["building","evidence"],"additionalProperties":false}}}},"responses":{"200":{"description":"Result returned without persistence","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Malformed or unsupported request"},"422":{"description":"Invalid model/tool arguments; no change made"},"429":{"description":"Request quota exceeded; retry later"}}}},"/api/agent/stayi_model_preview":{"post":{"operationId":"stayi_model_preview","summary":"Show the home in 3D","description":"First validate and review the source interpretation, then render this complete dimensioned model in an interactive 3D/plan/walkthrough viewer. Returns a downloadable local project; no server storage, cloud save or public link. Fix issues rather than omitting source features.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"building":{"type":"object","properties":{"schemaVersion":{"enum":["home-building/1"]},"units":{"enum":["feet"]},"projectId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"revisionId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"address":{"type":"string","minLength":1,"maxLength":300},"source":{"type":"object","properties":{"kind":{"enum":["assistant-draft"]},"fileName":{"type":"string","minLength":1,"maxLength":300}},"required":["kind","fileName"],"additionalProperties":false},"review":{"enum":["Unreviewed AI reconstruction; original source not verified by Home Preview."]},"scope":{"type":"string","minLength":1,"maxLength":300},"issues":{"type":"array","items":{"type":"string","minLength":1,"maxLength":300},"maxItems":40,"minItems":0},"levels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"elevationFeet":{"type":"number","minimum":-1000,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000},"clearHeightFeet":{"type":"number","minimum":0,"maximum":1000},"slabThicknessFeet":{"type":"number","minimum":0,"maximum":1000},"footprint":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"walls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"role":{"enum":["exterior","interior"]},"start":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"dimensions":{"type":"object","properties":{"lengthFeet":{"type":"number","minimum":0,"maximum":1000},"widthFeet":{"type":"number","minimum":0,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["lengthFeet","widthFeet","heightFeet"],"additionalProperties":false},"openings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"hostWallId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"kind":{"enum":["door","window","passage","slider","garage"]},"offsetFeet":{"type":"number","minimum":0,"maximum":1000},"sillFeet":{"type":"number","minimum":0,"maximum":1000},"hinge":{"enum":["start","end"]},"swingSide":{"enum":[1,-1]},"dimensions":{"type":"object","properties":{"lengthFeet":{"type":"number","minimum":0,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["lengthFeet","heightFeet"],"additionalProperties":false}},"required":["id","kind","offsetFeet","sillFeet","dimensions"],"additionalProperties":false},"maxItems":30,"minItems":0}},"required":["id","start","end","dimensions","openings"],"additionalProperties":false},"maxItems":80,"minItems":1},"rooms":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"usage":{"type":"string","minLength":1,"maxLength":300},"polygon":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"labelPosition":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2}},"required":["id","name","usage","polygon","labelPosition"],"additionalProperties":false},"maxItems":30,"minItems":1},"sourceSheet":{"type":"string","minLength":1,"maxLength":300},"sourcePage":{"type":"integer","minimum":1,"maximum":100}},"required":["id","name","elevationFeet","heightFeet","clearHeightFeet","slabThicknessFeet","footprint","holes","walls","rooms"],"additionalProperties":false},"maxItems":6,"minItems":1},"stairs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"fromLevel":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"toLevel":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"widthFeet":{"type":"number","minimum":0,"maximum":1000},"flights":{"type":"array","items":{"type":"object","properties":{"start":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"risers":{"type":"integer","minimum":1,"maximum":60},"bottomFeet":{"type":"number","minimum":0,"maximum":1000},"topFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["start","end","risers","bottomFeet","topFeet"],"additionalProperties":false},"maxItems":20,"minItems":1},"landings":{"type":"array","items":{"type":"object","properties":{"polygon":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"elevationFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["polygon","elevationFeet"],"additionalProperties":false},"maxItems":20,"minItems":0}},"required":["id","name","fromLevel","toLevel","widthFeet","flights","landings"],"additionalProperties":false},"maxItems":10,"minItems":0}},"required":["schemaVersion","units","projectId","revisionId","source","review","scope","issues","levels"],"additionalProperties":false},"evidence":{"type":"object","maxProperties":6,"additionalProperties":{"type":"object","properties":{"sheet":{"type":"string","minLength":1,"maxLength":300},"dimensions":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":300},"feet":{"type":"number","minimum":0.1,"maximum":1000},"axis":{"enum":["x","z"]},"basis":{"enum":["printed","user-provided"]},"modelSpan":{"type":"object","properties":{"from":{"type":"object","properties":{"kind":{"enum":["footprint","room","wall"]},"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"index":{"type":"integer","minimum":0,"maximum":99}},"required":["kind","id","index"],"additionalProperties":false},"to":{"type":"object","properties":{"kind":{"enum":["footprint","room","wall"]},"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"index":{"type":"integer","minimum":0,"maximum":99}},"required":["kind","id","index"],"additionalProperties":false}},"required":["from","to"],"additionalProperties":false}},"required":["label","feet","axis","basis","modelSpan"],"additionalProperties":false},"maxItems":10,"minItems":2},"assumptions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":300},"maxItems":12,"minItems":0}},"required":["sheet","dimensions","assumptions"],"additionalProperties":false}}},"required":["building","evidence"],"additionalProperties":false}}}},"responses":{"200":{"description":"Result returned without persistence","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Malformed or unsupported request"},"422":{"description":"Invalid model/tool arguments; no change made"},"429":{"description":"Request quota exceeded; retry later"}}}},"/api/agent/stayi_model_measure":{"post":{"operationId":"stayi_model_measure","summary":"Measure between two model points","description":"Measure supplied X/Y/Z points in feet within one floor of a checked model. This is a model-space distance, not a site measurement. No account or save.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"building":{"type":"object","properties":{"schemaVersion":{"enum":["home-building/1"]},"units":{"enum":["feet"]},"projectId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"revisionId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"address":{"type":"string","minLength":1,"maxLength":300},"source":{"type":"object","properties":{"kind":{"enum":["assistant-draft"]},"fileName":{"type":"string","minLength":1,"maxLength":300}},"required":["kind","fileName"],"additionalProperties":false},"review":{"enum":["Unreviewed AI reconstruction; original source not verified by Home Preview."]},"scope":{"type":"string","minLength":1,"maxLength":300},"issues":{"type":"array","items":{"type":"string","minLength":1,"maxLength":300},"maxItems":40,"minItems":0},"levels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"elevationFeet":{"type":"number","minimum":-1000,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000},"clearHeightFeet":{"type":"number","minimum":0,"maximum":1000},"slabThicknessFeet":{"type":"number","minimum":0,"maximum":1000},"footprint":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"walls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"role":{"enum":["exterior","interior"]},"start":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"dimensions":{"type":"object","properties":{"lengthFeet":{"type":"number","minimum":0,"maximum":1000},"widthFeet":{"type":"number","minimum":0,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["lengthFeet","widthFeet","heightFeet"],"additionalProperties":false},"openings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"hostWallId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"kind":{"enum":["door","window","passage","slider","garage"]},"offsetFeet":{"type":"number","minimum":0,"maximum":1000},"sillFeet":{"type":"number","minimum":0,"maximum":1000},"hinge":{"enum":["start","end"]},"swingSide":{"enum":[1,-1]},"dimensions":{"type":"object","properties":{"lengthFeet":{"type":"number","minimum":0,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["lengthFeet","heightFeet"],"additionalProperties":false}},"required":["id","kind","offsetFeet","sillFeet","dimensions"],"additionalProperties":false},"maxItems":30,"minItems":0}},"required":["id","start","end","dimensions","openings"],"additionalProperties":false},"maxItems":80,"minItems":1},"rooms":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"usage":{"type":"string","minLength":1,"maxLength":300},"polygon":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"labelPosition":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2}},"required":["id","name","usage","polygon","labelPosition"],"additionalProperties":false},"maxItems":30,"minItems":1},"sourceSheet":{"type":"string","minLength":1,"maxLength":300},"sourcePage":{"type":"integer","minimum":1,"maximum":100}},"required":["id","name","elevationFeet","heightFeet","clearHeightFeet","slabThicknessFeet","footprint","holes","walls","rooms"],"additionalProperties":false},"maxItems":6,"minItems":1},"stairs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"fromLevel":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"toLevel":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"widthFeet":{"type":"number","minimum":0,"maximum":1000},"flights":{"type":"array","items":{"type":"object","properties":{"start":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"risers":{"type":"integer","minimum":1,"maximum":60},"bottomFeet":{"type":"number","minimum":0,"maximum":1000},"topFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["start","end","risers","bottomFeet","topFeet"],"additionalProperties":false},"maxItems":20,"minItems":1},"landings":{"type":"array","items":{"type":"object","properties":{"polygon":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"elevationFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["polygon","elevationFeet"],"additionalProperties":false},"maxItems":20,"minItems":0}},"required":["id","name","fromLevel","toLevel","widthFeet","flights","landings"],"additionalProperties":false},"maxItems":10,"minItems":0}},"required":["schemaVersion","units","projectId","revisionId","source","review","scope","issues","levels"],"additionalProperties":false},"evidence":{"type":"object","maxProperties":6,"additionalProperties":{"type":"object","properties":{"sheet":{"type":"string","minLength":1,"maxLength":300},"dimensions":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":300},"feet":{"type":"number","minimum":0.1,"maximum":1000},"axis":{"enum":["x","z"]},"basis":{"enum":["printed","user-provided"]},"modelSpan":{"type":"object","properties":{"from":{"type":"object","properties":{"kind":{"enum":["footprint","room","wall"]},"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"index":{"type":"integer","minimum":0,"maximum":99}},"required":["kind","id","index"],"additionalProperties":false},"to":{"type":"object","properties":{"kind":{"enum":["footprint","room","wall"]},"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"index":{"type":"integer","minimum":0,"maximum":99}},"required":["kind","id","index"],"additionalProperties":false}},"required":["from","to"],"additionalProperties":false}},"required":["label","feet","axis","basis","modelSpan"],"additionalProperties":false},"maxItems":10,"minItems":2},"assumptions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":300},"maxItems":12,"minItems":0}},"required":["sheet","dimensions","assumptions"],"additionalProperties":false}},"levelId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$","minLength":1,"maxLength":80},"from":{"type":"array","items":{"type":"number","minimum":-10000,"maximum":10000},"minItems":3,"maxItems":3},"to":{"type":"array","items":{"type":"number","minimum":-10000,"maximum":10000},"minItems":3,"maxItems":3}},"required":["building","evidence","levelId","from","to"],"additionalProperties":false}}}},"responses":{"200":{"description":"Result returned without persistence","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Malformed or unsupported request"},"422":{"description":"Invalid model/tool arguments; no change made"},"429":{"description":"Request quota exceeded; retry later"}}}},"/api/agent/stayi_opening_move":{"post":{"operationId":"stayi_opening_move","summary":"Correct an opening position","description":"Move an existing door/window center along its current host wall in a supplied model. Requires the exact base revision and a distinct new revision. Preserves size/kind/ID and returns a checked new model. Stateless; never changes a saved home or approves a plan.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"building":{"type":"object","properties":{"schemaVersion":{"enum":["home-building/1"]},"units":{"enum":["feet"]},"projectId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"revisionId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"address":{"type":"string","minLength":1,"maxLength":300},"source":{"type":"object","properties":{"kind":{"enum":["assistant-draft"]},"fileName":{"type":"string","minLength":1,"maxLength":300}},"required":["kind","fileName"],"additionalProperties":false},"review":{"enum":["Unreviewed AI reconstruction; original source not verified by Home Preview."]},"scope":{"type":"string","minLength":1,"maxLength":300},"issues":{"type":"array","items":{"type":"string","minLength":1,"maxLength":300},"maxItems":40,"minItems":0},"levels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"elevationFeet":{"type":"number","minimum":-1000,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000},"clearHeightFeet":{"type":"number","minimum":0,"maximum":1000},"slabThicknessFeet":{"type":"number","minimum":0,"maximum":1000},"footprint":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"walls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"role":{"enum":["exterior","interior"]},"start":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"dimensions":{"type":"object","properties":{"lengthFeet":{"type":"number","minimum":0,"maximum":1000},"widthFeet":{"type":"number","minimum":0,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["lengthFeet","widthFeet","heightFeet"],"additionalProperties":false},"openings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"hostWallId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"kind":{"enum":["door","window","passage","slider","garage"]},"offsetFeet":{"type":"number","minimum":0,"maximum":1000},"sillFeet":{"type":"number","minimum":0,"maximum":1000},"hinge":{"enum":["start","end"]},"swingSide":{"enum":[1,-1]},"dimensions":{"type":"object","properties":{"lengthFeet":{"type":"number","minimum":0,"maximum":1000},"heightFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["lengthFeet","heightFeet"],"additionalProperties":false}},"required":["id","kind","offsetFeet","sillFeet","dimensions"],"additionalProperties":false},"maxItems":30,"minItems":0}},"required":["id","start","end","dimensions","openings"],"additionalProperties":false},"maxItems":80,"minItems":1},"rooms":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"usage":{"type":"string","minLength":1,"maxLength":300},"polygon":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"holes":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"maxItems":20,"minItems":0},"labelPosition":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2}},"required":["id","name","usage","polygon","labelPosition"],"additionalProperties":false},"maxItems":30,"minItems":1},"sourceSheet":{"type":"string","minLength":1,"maxLength":300},"sourcePage":{"type":"integer","minimum":1,"maximum":100}},"required":["id","name","elevationFeet","heightFeet","clearHeightFeet","slabThicknessFeet","footprint","holes","walls","rooms"],"additionalProperties":false},"maxItems":6,"minItems":1},"stairs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"name":{"type":"string","minLength":1,"maxLength":300},"fromLevel":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"toLevel":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"widthFeet":{"type":"number","minimum":0,"maximum":1000},"flights":{"type":"array","items":{"type":"object","properties":{"start":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"end":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"risers":{"type":"integer","minimum":1,"maximum":60},"bottomFeet":{"type":"number","minimum":0,"maximum":1000},"topFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["start","end","risers","bottomFeet","topFeet"],"additionalProperties":false},"maxItems":20,"minItems":1},"landings":{"type":"array","items":{"type":"object","properties":{"polygon":{"type":"array","items":{"type":"array","items":{"type":"number","minimum":-1000,"maximum":1000},"maxItems":2,"minItems":2},"maxItems":100,"minItems":3},"elevationFeet":{"type":"number","minimum":0,"maximum":1000}},"required":["polygon","elevationFeet"],"additionalProperties":false},"maxItems":20,"minItems":0}},"required":["id","name","fromLevel","toLevel","widthFeet","flights","landings"],"additionalProperties":false},"maxItems":10,"minItems":0}},"required":["schemaVersion","units","projectId","revisionId","source","review","scope","issues","levels"],"additionalProperties":false},"evidence":{"type":"object","maxProperties":6,"additionalProperties":{"type":"object","properties":{"sheet":{"type":"string","minLength":1,"maxLength":300},"dimensions":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":300},"feet":{"type":"number","minimum":0.1,"maximum":1000},"axis":{"enum":["x","z"]},"basis":{"enum":["printed","user-provided"]},"modelSpan":{"type":"object","properties":{"from":{"type":"object","properties":{"kind":{"enum":["footprint","room","wall"]},"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"index":{"type":"integer","minimum":0,"maximum":99}},"required":["kind","id","index"],"additionalProperties":false},"to":{"type":"object","properties":{"kind":{"enum":["footprint","room","wall"]},"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$"},"index":{"type":"integer","minimum":0,"maximum":99}},"required":["kind","id","index"],"additionalProperties":false}},"required":["from","to"],"additionalProperties":false}},"required":["label","feet","axis","basis","modelSpan"],"additionalProperties":false},"maxItems":10,"minItems":2},"assumptions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":300},"maxItems":12,"minItems":0}},"required":["sheet","dimensions","assumptions"],"additionalProperties":false}},"levelId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$","minLength":1,"maxLength":80},"wallId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$","minLength":1,"maxLength":80},"openingId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$","minLength":1,"maxLength":80},"offsetFeet":{"type":"number","minimum":0,"maximum":1000},"expectedRevisionId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$","minLength":1,"maxLength":80},"newRevisionId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$","minLength":1,"maxLength":80}},"required":["building","evidence","levelId","wallId","openingId","offsetFeet","expectedRevisionId","newRevisionId"],"additionalProperties":false}}}},"responses":{"200":{"description":"Result returned without persistence","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Malformed or unsupported request"},"422":{"description":"Invalid model/tool arguments; no change made"},"429":{"description":"Request quota exceeded; retry later"}}}}}}