{"openapi":"3.0.3","info":{"title":"ASEAN Hotels Intelligence API","description":"Qualified hotel prospects for ASEAN markets (Singapore + Bangkok). Data sourced from official registries (ACRA Singapore, DBD Thailand) enriched with Google Places. Ideal for CRM agencies, OTAs and hospitality consultants.","version":"1.0.0","contact":{"email":"contact.odyssey.empire@gmail.com"}},"servers":[{"url":"https://odyssey-fx-intelligence.abacusai.app/api/v1"}],"components":{"securitySchemes":{"RapidAPIKey":{"type":"apiKey","in":"header","name":"X-RapidAPI-Key"}},"schemas":{"Hotel":{"type":"object","properties":{"uen":{"type":"string","example":"53192591M"},"name":{"type":"string","example":"Arianna Hotel"},"rating":{"type":"number","example":2.7},"reviews_count":{"type":"integer","example":1207},"rating_gap":{"type":"number","example":1.7},"segment":{"type":"string","example":"CRITICAL"},"address":{"type":"string"},"city":{"type":"string","example":"Singapore"},"country":{"type":"string","example":"SG"},"website":{"type":"string"},"contact_email":{"type":"string"},"ssic":{"type":"string","example":"55101"},"opportunity_usd":{"type":"integer","example":2600},"audit_available":{"type":"boolean"}}}}},"security":[{"RapidAPIKey":[]}],"paths":{"/health":{"get":{"summary":"Health check","security":[],"responses":{"200":{"description":"Service status and dataset size"}}}},"/stats":{"get":{"summary":"Dataset statistics","responses":{"200":{"description":"Aggregate stats: totals, avg rating, pipeline value, segment breakdown"},"401":{"description":"Missing/invalid key"}}}},"/hotels":{"get":{"summary":"List qualified hotels (paginated, filterable)","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":20,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"segment","in":"query","schema":{"type":"string","enum":["CRITICAL","URGENT","HIGH","MODERATE"]}},{"name":"country","in":"query","schema":{"type":"string","enum":["SG","TH"]}},{"name":"min_rating","in":"query","schema":{"type":"number"}},{"name":"max_rating","in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"Paginated hotel list"},"401":{"description":"Missing/invalid key"}}}},"/hotels/segment/{segment}":{"get":{"summary":"Hotels by priority segment","parameters":[{"name":"segment","in":"path","required":true,"schema":{"type":"string","enum":["CRITICAL","URGENT","HIGH","MODERATE"]}}],"responses":{"200":{"description":"Hotels in segment"},"401":{"description":"Missing/invalid key"},"404":{"description":"Unknown segment"}}}},"/hotels/{uen}":{"get":{"summary":"Single hotel by UEN","parameters":[{"name":"uen","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Hotel record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hotel"}}}},"401":{"description":"Missing/invalid key"},"404":{"description":"Not found"}}}},"/hotels/score":{"get":{"summary":"AI-powered lead scoring — ranks hotels by business opportunity urgency","description":"Score formula: (4.5 - rating) × log10(reviews) × opportunity. Higher score = more urgent prospect.","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":20,"maximum":100}},{"name":"segment","in":"query","schema":{"type":"string","enum":["CRITICAL","URGENT","HIGH","MODERATE"]}},{"name":"country","in":"query","schema":{"type":"string","enum":["SG","TH"]}},{"name":"min_score","in":"query","schema":{"type":"number","default":0}}],"responses":{"200":{"description":"Scored and ranked leads"},"401":{"description":"Missing/invalid key"}}}},"/fx/savings":{"get":{"summary":"FX Savings Calculator — bank cost vs Wise for ASEAN currencies","parameters":[{"name":"amount","in":"query","schema":{"type":"number","default":1000},"description":"Transfer amount in USD"},{"name":"currency","in":"query","schema":{"type":"string","enum":["SGD","THB","MYR","PHP","IDR","VND","KHR","EUR","GBP"],"default":"SGD"}},{"name":"transfers_per_year","in":"query","schema":{"type":"integer","default":12}}],"responses":{"200":{"description":"Cost comparison and annual savings"},"401":{"description":"Missing/invalid key"}}}},"/email/validate":{"get":{"summary":"Email Deliverability Checker — syntax + domain normalization + MX validation","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string"},"description":"Email address to validate"}],"responses":{"200":{"description":"Validation result with MX records"},"400":{"description":"Missing email parameter"},"401":{"description":"Missing/invalid key"}}}},"/geo/audit":{"get":{"summary":"GEO Visibility Audit — score how well a business page is structured for AI answer engines (schema.org, FAQ, NAP)","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Public web page of the business to audit"}],"responses":{"200":{"description":"GEO score, grade, per-signal breakdown and top priorities"},"400":{"description":"Missing/invalid url"},"401":{"description":"Missing/invalid key"}}}},"/shorts/generate":{"get":{"summary":"Viral Shorts Script Generator (Moteur X) — AI-powered scripts + optional AI-avatar direction & compliance","parameters":[{"name":"pattern","in":"query","schema":{"type":"string","enum":["money","ai_news","enterprise","decoder"],"default":"money"}},{"name":"avatar","in":"query","required":false,"schema":{"type":"string","enum":["profiler","fx_analyst","curator","longevity"]},"description":"Optional. Enriches each script with avatar persona, scene_direction, voice and a pre-filled legal disclosure (FTC + EU AI Act Art. 50 + C2PA)."},{"name":"count","in":"query","schema":{"type":"integer","default":3,"minimum":1,"maximum":5}}],"responses":{"200":{"description":"Array of viral short scripts (avatar fields included when avatar is set)"},"401":{"description":"Missing/invalid key"}}}}}}