{"openapi":"3.1.0","info":{"title":"Hoomielike public agent API","version":"1.0.0","description":"Public endpoints for AI agents and LLMs to discover Hoomielike rooms, check availability and submit user-authorized enquiries.","contact":{"name":"Hoomielike","email":"hello@hoomielike.com","url":"https://hoomielike.com/contact"}},"servers":[{"url":"https://hoomielike.com"}],"externalDocs":{"description":"LLM-readable public context","url":"https://hoomielike.com/llms.txt"},"paths":{"/api/public/site-context":{"get":{"operationId":"getSiteContext","summary":"Get site navigation and agent context","description":"Returns public navigation, language rules, available APIs and safe agent guidelines for Hoomielike.","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["en","es"],"default":"en"}}],"responses":{"200":{"description":"Machine-readable public site context."}}}},"/api/public/neighborhoods":{"get":{"operationId":"listNeighborhoods","summary":"List public neighborhoods","description":"Returns Madrid neighborhoods represented on the public site, with room counts, apartment counts, starting prices and example room URLs.","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["en","es"],"default":"en"}}],"responses":{"200":{"description":"Neighborhood collection with public counts and URLs."}}}},"/api/public/rooms":{"get":{"operationId":"listRooms","summary":"List public rooms","description":"Returns public room data. If check_in and check_out are provided, only available rooms for those dates are returned.","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["en","es"],"default":"en"}},{"name":"check_in","in":"query","schema":{"type":"string","format":"date"}},{"name":"check_out","in":"query","schema":{"type":"string","format":"date"}},{"name":"amenities","in":"query","schema":{"type":"string","examples":["ac,exterior,terrace"]}},{"name":"price_min","in":"query","schema":{"type":"number"}},{"name":"price_max","in":"query","schema":{"type":"number"}},{"name":"room_id","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Room collection with summary and room URLs."},"400":{"description":"Invalid query parameters."}}}},"/api/public/availability":{"get":{"operationId":"checkAvailability","summary":"Check date-specific room availability","description":"Returns rooms available for the requested date range. check_in and check_out are required and must use YYYY-MM-DD.","parameters":[{"name":"check_in","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"check_out","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"locale","in":"query","schema":{"type":"string","enum":["en","es"],"default":"en"}},{"name":"amenities","in":"query","schema":{"type":"string","examples":["ac,exterior,terrace"]}},{"name":"price_min","in":"query","schema":{"type":"number"}},{"name":"price_max","in":"query","schema":{"type":"number"}},{"name":"room_id","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Available room collection for the requested dates."},"400":{"description":"Missing or invalid dates."}}}},"/api/public/rooms/{roomId}/markdown":{"get":{"operationId":"getRoomMarkdown","summary":"Get one room as Markdown","description":"Returns a concise Markdown summary of one public room, including room facts, public URLs, images and safe agent instructions.","parameters":[{"name":"roomId","in":"path","required":true,"schema":{"type":"string"}},{"name":"locale","in":"query","schema":{"type":"string","enum":["en","es"],"default":"en"}}],"responses":{"200":{"description":"Markdown room summary.","content":{"text/plain":{"schema":{"type":"string"}}}},"404":{"description":"Room not found."}}}},"/api/inquiries":{"post":{"operationId":"sendInquiry","summary":"Send a user-authorized enquiry","description":"Only call after explicit user consent. Supports room enquiries, landlord/property owner enquiries and general contact enquiries. The user must provide email, message and accept legal terms.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","message","acceptedTerms"],"properties":{"formType":{"type":"string","enum":["room","owner","contact"],"default":"room"},"firstName":{"type":"string"},"lastName":{"type":"string"},"phone":{"type":"string"},"email":{"type":"string","format":"email"},"message":{"type":"string"},"roomTitle":{"type":"string"},"roomCode":{"type":"string"},"acceptedTerms":{"type":"boolean","const":true},"checkIn":{"type":"string","format":"date"},"checkOut":{"type":"string","format":"date"},"pageUrl":{"type":"string","format":"uri"},"locale":{"type":"string","enum":["en","es"]}}}}}},"responses":{"200":{"description":"Enquiry sent."},"400":{"description":"Invalid request or missing consent."},"503":{"description":"Email service is not configured."}}}}},"x-llm-resources":{"agents":"https://hoomielike.com/agents.txt","llms":"https://hoomielike.com/llms.txt","fullContext":"https://hoomielike.com/llms-full.txt","siteContext":"https://hoomielike.com/api/public/site-context","neighborhoods":"https://hoomielike.com/api/public/neighborhoods"}}