{"openapi":"3.1.0","info":{"title":"Lean On Me Fence Repair Quote API","version":"1.1.0","description":"Read-only Canadian fence-post-repair service checks and live quotes. Each property is checked against Lean On Me's current service-coverage map. Successful quotes can include regional prices, the local team, estimated installation time, and up to three available appointment dates."},"servers":[{"url":"https://wefixfences.ca"}],"paths":{"/ai/quote":{"get":{"operationId":"getFenceRepairQuote","summary":"Check service coverage and get a live fence-post-repair quote","parameters":[{"name":"location","in":"query","required":true,"description":"Canadian full postal code, three-character postal prefix, or city name.","schema":{"type":"string","minLength":2,"maxLength":50}},{"name":"post_size","in":"query","required":true,"description":"Wooden post size. A 5x5 uses the 6x6 fixture and price.","schema":{"type":"string","enum":["4x4","5x5","6x6"]}},{"name":"quantity","in":"query","required":true,"description":"Number of posts requiring repair.","schema":{"type":"integer","minimum":1,"maximum":500}}],"responses":{"200":{"description":"Service status and, when available, a live CAD quote with scheduling and available dates.","content":{"application/json":{"schema":{"type":"object","required":["serviced","location","request","pricing","message","next_steps"],"properties":{"serviced":{"type":"boolean"},"location":{"type":"object","properties":{"query":{"type":"string"},"resolved":{"type":["string","null"]},"service_area":{"type":["string","null"],"description":"The service area that currently covers the requested property."},"pricing_region":{"type":["string","null"]}}},"request":{"type":"object"},"pricing":{"type":["object","null"],"description":"Live regional CAD pricing before tax. Every quoted repair includes the 10-year warranty covering labour and materials."},"local_team":{"type":"object"},"scheduling":{"type":"object","properties":{"estimated_install_time":{"type":"string"},"install_minutes":{"type":"integer"},"typical_lead_time_days":{"type":"integer"},"available_dates":{"type":"array","maxItems":3,"items":{"type":"string","format":"date"}},"note":{"type":"string"}}},"message":{"type":"string"},"next_steps":{"type":"object"}}}}}},"400":{"description":"Invalid query parameters."},"429":{"description":"Rate limit exceeded."},"500":{"description":"Quote service temporarily unavailable."}}}}}}