{"openapi":"3.1.0","info":{"title":"Flight Powers Travel Data API","description":"Real-time flight fares and hotel prices. Bring your own RapidAPI key; every request is billed to your own subscription.","version":"1.0.0"},"paths":{"/v1/verify":{"get":{"summary":"Verify","description":"Check that an API key works, as cheaply as possible.\n\nThis exists because every platform that consumes this API wants a\n\"Test connection\" button, and the obvious implementation -- run a real\nsearch with a hard-coded date -- becomes a time bomb: the moment that\ndate is in the past the upstream returns 500 and every new user is told\ntheir key is broken.\n\nSo the date is computed per request, and the cheap path is tried first:\n\n  1. `GET /isalive` on the hotels listing. No body, no search, sub-second.\n  2. Only if that fails, a minimal one-way flight search -- one date,\n     one route, one result -- because the flights listing exposes no\n     GET endpoint to check against.\n\nA key subscribed to either API is valid, so step 1 succeeding is enough\nand step 2 never runs for most callers.","operationId":"verify_v1_verify_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Verify V1 Verify Get"}}}}}}},"/v1/flights/oneway":{"post":{"summary":"Flights: oneway","operationId":"v1_flights_oneway_v1_flights_oneway_post","parameters":[{"name":"_path","in":"query","required":false,"schema":{"type":"string","default":"/v1/flights/oneway","title":" Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response V1 Flights Oneway V1 Flights Oneway Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/flights/roundtrip":{"post":{"summary":"Flights: roundtrip","operationId":"v1_flights_roundtrip_v1_flights_roundtrip_post","parameters":[{"name":"_path","in":"query","required":false,"schema":{"type":"string","default":"/v1/flights/roundtrip","title":" Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response V1 Flights Roundtrip V1 Flights Roundtrip Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/hotels/search":{"post":{"summary":"Hotels: search","operationId":"v1_hotels_search_v1_hotels_search_post","parameters":[{"name":"_path","in":"query","required":false,"schema":{"type":"string","default":"/v1/hotels/search","title":" Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response V1 Hotels Search V1 Hotels Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/hotels/by-name":{"post":{"summary":"Hotels: by name","operationId":"v1_hotels_by_name_v1_hotels_by_name_post","parameters":[{"name":"_path","in":"query","required":false,"schema":{"type":"string","default":"/v1/hotels/by-name","title":" Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response V1 Hotels By Name V1 Hotels By Name Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/hotels/rooms":{"post":{"summary":"Hotels: rooms","operationId":"v1_hotels_rooms_v1_hotels_rooms_post","parameters":[{"name":"_path","in":"query","required":false,"schema":{"type":"string","default":"/v1/hotels/rooms","title":" Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response V1 Hotels Rooms V1 Hotels Rooms Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/hotels/resolve":{"post":{"summary":"Hotels: resolve","operationId":"v1_hotels_resolve_v1_hotels_resolve_post","parameters":[{"name":"_path","in":"query","required":false,"schema":{"type":"string","default":"/v1/hotels/resolve","title":" Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response V1 Hotels Resolve V1 Hotels Resolve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}