{"openapi":"3.1.0","info":{"title":"LiteAPI (BYOK) API","version":"0.1.0","description":"LiteAPI (BYOK) lets an AI assistant read your own LiteAPI data through the LiteAPI API with a key you supply (LiteAPI key (a sandbox key works for testing)). Read-only: 11 tools (search_hotels, get_hotel, get_hotel_reviews, get_min_rates, list_countries, list_cities, list_airport_codes, list_hotel_chains, list_hotel_types, list_currencies, list_facilities). The BYOK key travels with each request,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-liteapi.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-liteapi/docs"},"termsOfService":"https://connectorbay.com/byok-liteapi/terms"},"servers":[{"url":"https://byok-liteapi.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-liteapi/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/search_hotels":{"post":{"operationId":"search_hotels","summary":"Search hotels by country and city, by name, by coordinates with a radius, by star rating or by hotel ids; returns name, ","description":"Search hotels by country and city, by name, by coordinates with a radius, by star rating or by hotel ids; returns name, address, stars, rating, review count and main photo. Results come in pages of up to 200 by default. Use for \"Find 4 and 5 star hotels in Rome, Italy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country_code":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter ISO country code, for example 'IT'.","title":"Country Code"},"city_name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"City name, for example 'Rome' (use together with country_code).","title":"City Name"},"hotel_name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Part of the hotel name (loose, case-insensitive match), for example 'hilton'.","title":"Hotel Name"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Latitude for a radius search (use with longitude and radius).","title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Longitude for a radius search (use with latitude and radius).","title":"Longitude"},"radius":{"anyOf":[{"maximum":100000,"minimum":1000,"type":"integer"},{"type":"null"}],"default":null,"description":"Search radius in meters (minimum 1000), used with latitude and longitude.","title":"Radius"},"star_rating":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated star ratings to include, for example '4,4.5,5'.","title":"Star Rating"},"min_rating":{"anyOf":[{"maximum":10,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Minimum guest rating, for example 8.6.","title":"Min Rating"},"hotel_ids":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated hotel ids to fetch, for example 'lp1897,lp1343'.","title":"Hotel Ids"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Maximum results to return (default 200 on the API side, maximum 5000).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of rows to skip, for paging.","title":"Offset"}},"title":"search_hotelsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_hotel":{"post":{"operationId":"get_hotel","summary":"Get one hotel's details by id: name, description, address, location, star rating, guest rating, chain, type, nearest air","description":"Get one hotel's details by id: name, description, address, location, star rating, guest rating, chain, type, nearest airport, check-in and check-out times and facility names. Use for \"Tell me about hotel lp1897\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"hotel_id":{"description":"LiteAPI hotel id, for example 'lp1897' (from search_hotels).","maxLength":40,"title":"Hotel Id","type":"string"},"language":{"anyOf":[{"maxLength":5,"type":"string"},{"type":"null"}],"default":null,"description":"Language code for the text, for example 'fr'.","title":"Language"}},"required":["hotel_id"],"title":"get_hotelArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_hotel_reviews":{"post":{"operationId":"get_hotel_reviews","summary":"Get guest reviews of a hotel with score, date, headline, positives and negatives; reviewer names are returned as given b","description":"Get guest reviews of a hotel with score, date, headline, positives and negatives; reviewer names are returned as given by the source. Use for \"What do guests say about hotel lp1897\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"hotel_id":{"description":"LiteAPI hotel id, for example 'lp1897'.","maxLength":40,"title":"Hotel Id","type":"string"},"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum reviews to return.","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of reviews to skip.","title":"Offset"}},"required":["hotel_id"],"title":"get_hotel_reviewsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_min_rates":{"post":{"operationId":"get_min_rates","summary":"Get the lowest available room price for each hotel in a list for given dates and guests. Read-only price lookup, no book","description":"Get the lowest available room price for each hotel in a list for given dates and guests. Read-only price lookup, no booking is made. Use for \"What is the cheapest price for hotel lp1897 for two adults from 2027-01-15 to 2027-01-17\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"hotel_id":{"description":"LiteAPI hotel id to price, for example 'lp1897'.","maxLength":40,"title":"Hotel Id","type":"string"},"checkin":{"description":"Check-in date, YYYY-MM-DD.","maxLength":10,"title":"Checkin","type":"string"},"checkout":{"description":"Check-out date, YYYY-MM-DD.","maxLength":10,"title":"Checkout","type":"string"},"adults":{"description":"Number of adults in the room.","maximum":9,"minimum":1,"title":"Adults","type":"integer"},"currency":{"description":"Currency code for prices, for example 'USD'.","maxLength":3,"title":"Currency","type":"string"},"guest_nationality":{"description":"Guest nationality as a two-letter country code, for example 'US'.","maxLength":2,"title":"Guest Nationality","type":"string"}},"required":["hotel_id","checkin","checkout","adults","currency","guest_nationality"],"title":"get_min_ratesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_countries":{"post":{"operationId":"list_countries","summary":"List all countries with their two-letter ISO codes. Use for \"What country codes does LiteAPI use\".","description":"List all countries with their two-letter ISO codes. Use for \"What country codes does LiteAPI use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_countriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_cities":{"post":{"operationId":"list_cities","summary":"List the cities that have hotels in a country. Use for \"Which cities in Italy have hotels\".","description":"List the cities that have hotels in a country. Use for \"Which cities in Italy have hotels\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country_code":{"description":"Two-letter ISO country code, for example 'IT'.","maxLength":2,"title":"Country Code","type":"string"}},"required":["country_code"],"title":"list_citiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_airport_codes":{"post":{"operationId":"list_airport_codes","summary":"List IATA airport codes with airport name, coordinates and country code. Use for \"What is the IATA code of Rome Fiumicin","description":"List IATA airport codes with airport name, coordinates and country code. Use for \"What is the IATA code of Rome Fiumicino\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_airport_codesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_hotel_chains":{"post":{"operationId":"list_hotel_chains","summary":"List hotel chains with their ids, for filtering searches by brand. Use for \"What chain id does Hilton have\".","description":"List hotel chains with their ids, for filtering searches by brand. Use for \"What chain id does Hilton have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_hotel_chainsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_hotel_types":{"post":{"operationId":"list_hotel_types","summary":"List hotel type classifications (resort, boutique, business and so on) with ids. Use for \"What hotel types exist\".","description":"List hotel type classifications (resort, boutique, business and so on) with ids. Use for \"What hotel types exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_hotel_typesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_currencies":{"post":{"operationId":"list_currencies","summary":"List supported currency codes with their names. Use for \"Which currencies can I price hotels in\".","description":"List supported currency codes with their names. Use for \"Which currencies can I price hotels in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_currenciesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_facilities":{"post":{"operationId":"list_facilities","summary":"List hotel facility (amenity) ids and names, usable as filters. Use for \"What facility ids exist, such as pool or wifi\".","description":"List hotel facility (amenity) ids and names, usable as filters. Use for \"What facility ids exist, such as pool or wifi\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_facilitiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}