{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/{agency_id}/trip_detail/route_code/{route_code}":{"get":{"tags":["Real-Time data"],"summary":"Get Trip Detail By Route Code","operationId":"get_trip_detail_by_route_code__agency_id__trip_detail_route_code__route_code__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"route_code","in":"path","required":true,"schema":{"type":"string","title":"Route Code"}},{"name":"geojson","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Geojson"}},{"name":"include_stop_time_updates","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Stop Time Updates"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/trip_detail/vehicle/{vehicle_id}":{"get":{"tags":["Real-Time data"],"summary":"Get Trip Detail By Vehicle","operationId":"get_trip_detail_by_vehicle__agency_id__trip_detail_vehicle__vehicle_id__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"vehicle_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vehicle Id"}},{"name":"stop_sequence","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stop Sequence"}},{"name":"geojson","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Geojson"}},{"name":"include_stop_time_updates","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Stop Time Updates"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ws/{agency_id}/{endpoint}/{route_codes}":{"get":{"tags":["Real-Time data"],"summary":"Dummy Websocket Endpoint","description":"Dummy HTTP endpoint for WebSocket documentation.\n\nThis endpoint is used for documentation purposes only. It mirrors the WebSocket endpoint that accepts connections and sends real-time updates about vehicles and trips.\n\nArgs:\n    agency_id (str): The ID of the agency.\n    endpoint (str): The type of updates to send. Can be \"vehicle_positions\" or \"trip_updates\".\n    route_codes (str, optional): A comma-separated list of route codes to filter updates. If not provided, updates for all routes are sent.\n\nThe WebSocket endpoint sends updates in the following format:\n\n{\n    \"id\": \"vehicle_id\",\n    \"vehicle\": {\n        \"trip\": {\n            \"route_id\": \"route_code\",\n            ...\n        },\n        ...\n    },\n    \"route_code\": \"route_code\",\n    ...\n}\n\nThe WebSocket endpoint sends updates every 3 seconds. If an error occurs while processing updates, the WebSocket endpoint sends an error message in the following format:\n\n\"Error: error_message\"","operationId":"dummy_websocket_endpoint_ws__agency_id___endpoint___route_codes__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"type":"string","title":"Agency Id"}},{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}},{"name":"route_codes","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Route Codes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/canceled_service_summary":{"get":{"tags":["Canceled Service Data"],"summary":"Get Canceled Trip Summary","operationId":"get_canceled_trip_summary_canceled_service_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/canceled_service/line/{line}":{"get":{"tags":["Canceled Service Data"],"summary":"Get Canceled Trip","operationId":"get_canceled_trip_canceled_service_line__line__get","parameters":[{"name":"line","in":"path","required":true,"schema":{"type":"string","title":"Line"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/canceled_service/all":{"get":{"tags":["Canceled Service Data"],"summary":"Get Canceled Trip","operationId":"get_canceled_trip_canceled_service_all_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/{agency_id}/route_stops/{route_code}":{"get":{"tags":["Static data"],"summary":"Populate Route Stops","operationId":"populate_route_stops__agency_id__route_stops__route_code__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"route_code","in":"path","required":true,"schema":{"type":"integer","title":"Route Code"}},{"name":"daytype","in":"query","required":false,"schema":{"$ref":"#/components/schemas/DayTypesEnum","default":"all"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/route_details/{route_code}":{"get":{"tags":["Static data"],"summary":"Route Details Endpoint","operationId":"route_details_endpoint__agency_id__route_details__route_code__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"type":"string","title":"Agency Id"}},{"name":"route_code","in":"path","required":true,"schema":{"type":"string","title":"Route Code"}},{"name":"direction_id","in":"query","required":true,"schema":{"type":"integer","maximum":1,"minimum":0,"title":"Direction Id"}},{"name":"day_type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/DayType"}},{"name":"time","in":"query","required":true,"schema":{"type":"string","title":"Time"}},{"name":"num_results","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":3,"title":"Num Results"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/shape_info/{shape_id}":{"get":{"tags":["Static data"],"summary":"Get Shape Info","description":"Get shape info by shape_id and time.","operationId":"get_shape_info__agency_id__shape_info__shape_id__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"type":"string","title":"Agency Id"}},{"name":"shape_id","in":"path","required":true,"schema":{"type":"string","title":"Shape Id"}},{"name":"time","in":"query","required":true,"schema":{"type":"string","title":"Time"}},{"name":"num_results","in":"query","required":false,"schema":{"type":"integer","default":3,"title":"Num Results"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/calendar_dates":{"get":{"tags":["Static data"],"summary":"Get Calendar Dates From Db","operationId":"get_calendar_dates_from_db_calendar_dates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/{agency_id}/stop_times/route_code/{route_code}":{"get":{"tags":["Static data"],"summary":"Get Stop Times By Route Code And Agency","operationId":"get_stop_times_by_route_code_and_agency__agency_id__stop_times_route_code__route_code__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"route_code","in":"path","required":true,"schema":{"title":"Route Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StopTimesResponse"},"title":"Response Get Stop Times By Route Code And Agency  Agency Id  Stop Times Route Code  Route Code  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/stop_times/trip_id/{trip_id}":{"get":{"tags":["Static data"],"summary":"Get Stop Times By Trip Id And Agency","operationId":"get_stop_times_by_trip_id_and_agency__agency_id__stop_times_trip_id__trip_id__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"trip_id","in":"path","required":true,"schema":{"title":"Trip Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/stops/{stop_id}":{"get":{"tags":["Static data"],"summary":"Get Stops","operationId":"get_stops__agency_id__stops__stop_id__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"stop_id","in":"path","required":true,"schema":{"title":"Stop Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/trips/{trip_id}":{"get":{"tags":["Static data"],"summary":"Get Bus Trips","operationId":"get_bus_trips__agency_id__trips__trip_id__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"trip_id","in":"path","required":true,"schema":{"title":"Trip Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/shapes/{shape_id}":{"get":{"tags":["Static data"],"summary":"Get Shapes","operationId":"get_shapes__agency_id__shapes__shape_id__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"shape_id","in":"path","required":true,"schema":{"title":"Shape Id"}},{"name":"geojson","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Geojson"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/trip_shapes/{shape_id}":{"get":{"tags":["Static data"],"summary":"Get Trip Shapes","operationId":"get_trip_shapes__agency_id__trip_shapes__shape_id__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"shape_id","in":"path","required":true,"schema":{"title":"Shape Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/calendar/{service_id}":{"get":{"tags":["Static data"],"summary":"Get Calendar","operationId":"get_calendar__agency_id__calendar__service_id__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"service_id","in":"path","required":true,"schema":{"title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/routes/{route_id}":{"get":{"tags":["Static data"],"summary":"Get Routes","operationId":"get_routes__agency_id__routes__route_id__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"route_id","in":"path","required":true,"schema":{"title":"Route Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/route_overview":{"get":{"tags":["Static data"],"summary":"Get Route Overview","description":"Get route overview data for all routes.","operationId":"get_route_overview__agency_id__route_overview_get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AllAgencyIdEnum"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/route_overview/{route_code}":{"get":{"tags":["Static data"],"summary":"Get Route Overview By Route Code","description":"Get route overview data by route code.","operationId":"get_route_overview_by_route_code__agency_id__route_overview__route_code__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"route_code","in":"path","required":true,"schema":{"type":"string","title":"Route Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/agency/":{"get":{"tags":["Static data"],"summary":"Get Agency","operationId":"get_agency__agency_id__agency__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{agency_id}/destination/{trip_id}/{stop_id}":{"get":{"tags":["Static data"],"summary":"Get Destination By Trip Stop","operationId":"get_destination_by_trip_stop__agency_id__destination__trip_id___stop_id__get","parameters":[{"name":"agency_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/AgencyIdEnum"}},{"name":"trip_id","in":"path","required":true,"schema":{"type":"string","title":"Trip Id"}},{"name":"stop_id","in":"path","required":true,"schema":{"type":"string","title":"Stop Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_gopass_schools":{"get":{"tags":["Other data"],"summary":"Get Gopass Schools","operationId":"get_gopass_schools_get_gopass_schools_get","parameters":[{"name":"show_missing","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Show Missing"}},{"name":"combine_phone","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Combine Phone"}},{"name":"groupby_column","in":"query","required":false,"schema":{"$ref":"#/components/schemas/GoPassGroupEnum"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/time":{"get":{"tags":["User Methods"],"summary":"Get Time","operationId":"get_time_time_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"tags":["User Methods"],"summary":"Index","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/login":{"get":{"tags":["User Methods"],"summary":"Login","operationId":"login_login_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/verify_email/{email_verification_token}":{"get":{"tags":["User Methods"],"summary":"Verify Email Route","operationId":"verify_email_route_verify_email__email_verification_token__get","parameters":[{"name":"email_verification_token","in":"path","required":true,"schema":{"type":"string","title":"Email Verification Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/token":{"post":{"tags":["User Methods"],"summary":"Login For Access Token","operationId":"login_for_access_token_token_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_login_for_access_token_token_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/":{"post":{"tags":["User Methods"],"summary":"Create User","operationId":"create_user_users__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{username}":{"get":{"tags":["User Methods"],"summary":"Read User","operationId":"read_user_users__username__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string","title":"Username"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/routes":{"get":{"tags":["Static data"],"summary":"Get All Routes","operationId":"get_all_routes_routes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Get All Routes Routes Get"}}}}}}}},"components":{"schemas":{"AgencyIdEnum":{"type":"string","enum":["LACMTA","LACMTA_Rail"],"title":"AgencyIdEnum"},"AllAgencyIdEnum":{"type":"string","enum":["LACMTA","LACMTA_Rail","all"],"title":"AllAgencyIdEnum"},"Body_login_for_access_token_token_post":{"properties":{"grant_type":{"anyOf":[{"type":"string","pattern":"password"},{"type":"null"}],"title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_login_for_access_token_token_post"},"DayType":{"type":"string","enum":["Weekday","Saturday","Sunday"],"title":"DayType"},"DayTypesEnum":{"type":"string","enum":["weekday","saturday","sunday","no_type","all"],"title":"DayTypesEnum"},"GoPassGroupEnum":{"type":"string","enum":["id","school"],"title":"GoPassGroupEnum"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"StopTimesResponse":{"properties":{"arrival_time":{"type":"string","title":"Arrival Time"},"stop_id":{"type":"integer","title":"Stop Id"},"stop_sequence":{"type":"integer","title":"Stop Sequence"},"stop_headsign":{"type":"string","title":"Stop Headsign"},"pickup_type":{"type":"integer","title":"Pickup Type"},"drop_off_type":{"type":"integer","title":"Drop Off Type"},"trip_id_event":{"type":"string","title":"Trip Id Event"},"route_code":{"type":"string","title":"Route Code"},"destination_code":{"type":"string","title":"Destination Code"},"timepoint":{"type":"integer","title":"Timepoint"},"bay_num":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bay Num"},"agency_id":{"type":"string","title":"Agency Id"},"trip_id":{"type":"string","title":"Trip Id"},"rider_usage_code":{"type":"integer","title":"Rider Usage Code"}},"type":"object","required":["arrival_time","stop_id","stop_sequence","stop_headsign","pickup_type","drop_off_type","trip_id_event","route_code","destination_code","timepoint","bay_num","agency_id","trip_id","rider_usage_code"],"title":"StopTimesResponse"},"Token":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type"}},"type":"object","required":["access_token","token_type"],"title":"Token"},"User":{"properties":{"username":{"type":"string","title":"Username"},"email":{"type":"string","title":"Email"},"id":{"type":"integer","title":"Id"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["username","email","id","is_active"],"title":"User"},"UserCreate":{"properties":{"username":{"type":"string","title":"Username"},"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["username","email","password"],"title":"UserCreate"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"token"}}}}}}