{"openapi":"3.1.0","info":{"title":"Travel Activities API","version":"preview","description":"The Travel Activities API will add tours, attraction tickets and experiences to your product, with live availability and instant e-tickets. The schema below is a preview and may change before general availability."},"servers":[{"url":"https://api.flightota.com","description":"Production"},{"url":"https://sandbox.flightota.com","description":"Sandbox"}],"security":[{"bearerAuth":[]}],"paths":{"/activities/v1/search":{"get":{"operationId":"activities-search","summary":"Search activities","description":"Preview: experiences by destination and date.","tags":["Search"],"parameters":[{"name":"destination","in":"query","required":true,"description":"City code.","schema":{"type":"string"},"example":"IST"},{"name":"date","in":"query","required":false,"description":"Activity date.","schema":{"type":"string","format":"date"},"example":"2026-12-22"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"example":{"data":[{"activity_id":"act_bosphorus_cruise","title":"Bosphorus sunset cruise","duration":"PT2H","from_price":"29.00","currency":"USD"}]}}}},"400":{"description":"validation_error: One or more request parameters are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"validation_error":{"value":{"error":{"code":"validation_error","message":"One or more request parameters are invalid."}}}}}}},"401":{"description":"unauthorized: The API key is missing, revoked or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"unauthorized":{"value":{"error":{"code":"unauthorized","message":"The API key is missing, revoked or invalid."}}}}}}},"429":{"description":"rate_limited: Too many requests. Retry after the time given in the Retry-After header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"rate_limited":{"value":{"error":{"code":"rate_limited","message":"Too many requests. Retry after the time given in the Retry-After header."}}}}}}}}}},"/activities/v1/activities/{activity_id}/availability":{"get":{"operationId":"activities-availability","summary":"Get availability","description":"Preview: time slots and capacity for an activity.","tags":["Search"],"parameters":[{"name":"activity_id","in":"path","required":true,"description":"Activity identifier.","schema":{"type":"string"},"example":"act_bosphorus_cruise"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"example":{"data":{"slots":[{"start":"2026-12-22T17:00:00","remaining":12}]}}}}},"400":{"description":"validation_error: One or more request parameters are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"validation_error":{"value":{"error":{"code":"validation_error","message":"One or more request parameters are invalid."}}}}}}},"401":{"description":"unauthorized: The API key is missing, revoked or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"unauthorized":{"value":{"error":{"code":"unauthorized","message":"The API key is missing, revoked or invalid."}}}}}}},"429":{"description":"rate_limited: Too many requests. Retry after the time given in the Retry-After header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"rate_limited":{"value":{"error":{"code":"rate_limited","message":"Too many requests. Retry after the time given in the Retry-After header."}}}}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Your API key"}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}}}}}}}