{"openapi":"3.1.0","info":{"title":"RainbowHome Agent API","version":"1.0.0","description":"Discover rooftop-solar and rainwater-harvesting installers and loans across India, run savings estimates, and book consultations on a user's behalf. Neutral aggregator: no install operations, no commission on conversion, sourced regulation data.","contact":{"url":"https://rainbowhome.space/for-agents"}},"servers":[{"url":"https://rainbowhome.space"}],"paths":{"/api/search":{"get":{"operationId":"searchListings","summary":"Search installers, loans, mandates and calculators","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","maxLength":200}},{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["KA","MH","TN","KL","AP"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Ranked results"}}}},"/api/installers":{"get":{"operationId":"listSolarInstallers","summary":"List rooftop-solar installers","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["KA","MH","TN","KL","AP"]}},{"name":"mnre_only","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"max_price","in":"query","required":false,"schema":{"type":"integer"}},{"name":"min_warranty","in":"query","required":false,"schema":{"type":"integer"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["freshness","price","installations","rating"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Installer list"}}}},"/api/financers":{"get":{"operationId":"listSolarLoans","summary":"List rooftop-solar loans","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["KA","MH","TN","KL","AP"]}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["public_bank","private_bank","nbfc","fintech"]}},{"name":"pm_surya_ghar_only","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"max_rate","in":"query","required":false,"schema":{"type":"number"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["rate","max_loan","tenure"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Loan list"}}}},"/api/water/installers":{"get":{"operationId":"listRwhInstallers","summary":"List rainwater-harvesting installers (KA, TN)","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["KA","TN"]}},{"name":"is15797_only","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"bwssb_only","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"serves_societies","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"system_type","in":"query","required":false,"schema":{"type":"string","enum":["hybrid","storage","recharge"]}},{"name":"max_price","in":"query","required":false,"schema":{"type":"integer"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["price","installations","rating"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"RWH installer list"}}}},"/api/water/financers":{"get":{"operationId":"listRwhLoans","summary":"List rainwater-harvesting loans (KA, TN)","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["KA","TN"]}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["public_bank","private_bank","nbfc","fintech"]}},{"name":"rwh_explicit_only","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"max_rate","in":"query","required":false,"schema":{"type":"number"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["rate","max_loan","tenure"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"RWH loan list"}}}},"/api/insights/benchmarks/{vertical}":{"get":{"operationId":"getBenchmarks","summary":"Independent price benchmarks","parameters":[{"name":"vertical","in":"path","required":true,"schema":{"type":"string","enum":["solar","water"]}}],"responses":{"200":{"description":"Benchmark bands with source URLs + verification dates"}}}},"/api/agent/book":{"post":{"operationId":"bookAppointment","summary":"Book a solar/RWH consultation on a user's behalf","description":"Creates a consent-gated qualified lead routed to a verified in-state installer. Only call after the user has explicitly agreed to share their name and phone; set consent=true to attest this. For vertical=solar provide state_code + monthly_bill_inr; for rwh provide state_code (KA|TN) + roof_area_sqm + roof_material + system_type + tanker_dependent.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vertical":{"type":"string","enum":["solar","rwh"]},"name":{"type":"string","minLength":2,"maxLength":100,"description":"Customer full name."},"phone":{"type":"string","pattern":"^[6-9][0-9]{9}$","description":"10-digit Indian mobile number."},"email":{"type":"string","format":"email","description":"Optional email."},"consent":{"type":"boolean","enum":[true],"description":"Must be true. Attests the user consented to share contact details with RainbowHome + a partner installer (DPDP)."},"agent_name":{"type":"string","maxLength":60,"description":"Name of the calling AI assistant (e.g. 'Claude', 'ChatGPT') for provenance."},"state_code":{"type":"string","enum":["KA","MH","TN","KL","AP"],"description":"State. Solar: KA|MH|TN|KL|AP. RWH: KA|TN."},"monthly_bill_inr":{"type":"integer","minimum":200,"maximum":250000,"description":"Solar: average monthly electricity bill."},"roof_area_sqm":{"type":"integer","minimum":5,"maximum":10000,"description":"RWH: roof catchment area."},"roof_material":{"type":"string","enum":["flat_rcc","sloped_tile","metal_sheet","other"],"description":"RWH only."},"system_type":{"type":"string","enum":["hybrid","storage","recharge"],"description":"RWH only."},"tanker_dependent":{"type":"boolean","description":"RWH only."},"tankers_per_month":{"type":"integer","minimum":1,"maximum":30},"is_society":{"type":"boolean"},"society_flat_count":{"type":"integer","minimum":2,"maximum":2000},"society_name":{"type":"string","maxLength":120},"rwa_reg_no":{"type":"string","maxLength":60},"city":{"type":"string","maxLength":80},"pincode":{"type":"string","pattern":"^[0-9]{6}$"},"installer_slug":{"type":"string","maxLength":120,"description":"Route to a specific installer (from a list tool)."},"installer_id":{"type":"string","format":"uuid"},"financer_slug":{"type":"string","maxLength":120},"financer_id":{"type":"string","format":"uuid"}},"required":["vertical","name","phone","consent"],"additionalProperties":false}}}},"responses":{"201":{"description":"Booking created (lead_id, estimate_id, next_steps)"},"400":{"description":"Invalid input"},"422":{"description":"Unknown installer/financer reference"},"503":{"description":"Booking temporarily unavailable"}}}}}}