{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"servers":[{"url":"/bleeperbike-api/bikes"}],"paths":{"/{system_id}/current/bikes.geojson":{"get":{"summary":"Current Bikes","description":"Returns the current (<5 minute old) bike locations in GeoJson format","operationId":"current_bikes__system_id__current_bikes_geojson_get","parameters":[{"name":"system_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/BikeStatus_SystemID","description":"Choose a system here"},"description":"Choose a system here"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{system_id}/current/stations.geojson":{"get":{"summary":"Current Stations","description":"Returns the current (<1 hour old) station status in GeoJson format","operationId":"current_stations__system_id__current_stations_geojson_get","parameters":[{"name":"system_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/StationStatus_SystemID","description":"Choose a system here"},"description":"Choose a system here"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{system_id}/historical/stations":{"get":{"summary":"Historical Stations Json","description":"Returns up to one day of historical station status in JSON format at a 5 minute granularity","operationId":"historical_stations_json__system_id__historical_stations_get","parameters":[{"name":"system_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/StationStatus_SystemID","description":"Choose a system here"},"description":"Choose a system here"},{"name":"dt_start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Start Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date.","title":"Dt Start"},"description":"Start Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date."},{"name":"dt_end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"End Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date.","title":"Dt End"},"description":"End Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StationStatus"},"title":"Response Historical Stations Json  System Id  Historical Stations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{system_id}/historical/stations.csv":{"get":{"summary":"Historical Stations Csv","description":"Returns up to one month of historical station status in CSV format at a 5 minute granularity","operationId":"historical_stations_csv__system_id__historical_stations_csv_get","parameters":[{"name":"system_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/StationStatus_SystemID","description":"Choose a system here"},"description":"Choose a system here"},{"name":"dt_start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Start Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date.","title":"Dt Start"},"description":"Start Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date."},{"name":"dt_end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"End Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date.","title":"Dt End"},"description":"End Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date."}],"responses":{"200":{"description":"Returns bulk CSV data","content":{"application/json":{"schema":{}},"text/csv":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{system_id}/historical/bikes":{"get":{"summary":"Historical Bikes Json","description":"Returns up to one day of historical bike location status in JSON form","operationId":"historical_bikes_json__system_id__historical_bikes_get","parameters":[{"name":"system_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/BikeStatus_SystemID","description":"Choose a system here"},"description":"Choose a system here"},{"name":"dt_start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Start Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date.","title":"Dt Start"},"description":"Start Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date."},{"name":"dt_end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"End Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date.","title":"Dt End"},"description":"End Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BikeStatus"},"title":"Response Historical Bikes Json  System Id  Historical Bikes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{system_id}/historical/bikes.csv":{"get":{"summary":"Historical Bikes Csv","description":"Returns up to one month of historical bike location status in CSV form","operationId":"historical_bikes_csv__system_id__historical_bikes_csv_get","parameters":[{"name":"system_id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/BikeStatus_SystemID","description":"Choose a system here"},"description":"Choose a system here"},{"name":"dt_start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Start Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date.","title":"Dt Start"},"description":"Start Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date."},{"name":"dt_end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"End Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date.","title":"Dt End"},"description":"End Date/Time, in ISO Format: YYYY-MM-DDTHH:MM:SS. May be truncated to the date."}],"responses":{"200":{"description":"Returns bulk CSV data","content":{"application/json":{"schema":{}},"text/csv":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"BaseModel":{"properties":{},"type":"object","title":"BaseModel"},"BikeStatus":{"properties":{"system_id":{"type":"string","title":"System Id"},"last_updated":{"type":"string","format":"date-time","title":"Last Updated"},"bike_id":{"type":"string","title":"Bike Id"},"is_reserved":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Reserved"},"is_disabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Disabled"},"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"},"vehicle_type_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vehicle Type Id"},"station_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Station Id"},"current_fuel_percent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current Fuel Percent"},"current_range_meters":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current Range Meters"}},"type":"object","required":["system_id","last_updated","bike_id","is_reserved","is_disabled","lat","lon","vehicle_type_id","station_id","current_fuel_percent","current_range_meters"],"title":"BikeStatus"},"BikeStatus_SystemID":{"type":"string","enum":["mobymoby_dublin","bleeper_bikes"],"title":"BikeStatus_SystemID"},"Feature":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"$ref":"#/components/schemas/BaseModel"},{"type":"null"}],"title":"Properties"},"id":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature","description":"Feature Model"},"FeatureCollection":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type"},"features":{"items":{"$ref":"#/components/schemas/Feature"},"type":"array","title":"Features"}},"type":"object","required":["type","features"],"title":"FeatureCollection","description":"FeatureCollection Model"},"GeometryCollection":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"GeometryCollection","title":"Type"},"geometries":{"items":{"oneOf":[{"$ref":"#/components/schemas/Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/Point","Polygon":"#/components/schemas/Polygon"}}},"type":"array","title":"Geometries"}},"type":"object","required":["type","geometries"],"title":"GeometryCollection","description":"GeometryCollection Model"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LineString":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"LineString","title":"Type"},"coordinates":{"items":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}]},"type":"array","minItems":2,"title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"LineString","description":"LineString Model"},"MultiLineString":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"MultiLineString","title":"Type"},"coordinates":{"items":{"items":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}]},"type":"array","minItems":2},"type":"array","title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"MultiLineString","description":"MultiLineString Model"},"MultiPoint":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"MultiPoint","title":"Type"},"coordinates":{"items":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}]},"type":"array","title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"MultiPoint","description":"MultiPoint Model"},"MultiPolygon":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"MultiPolygon","title":"Type"},"coordinates":{"items":{"items":{"items":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}]},"type":"array","minItems":4},"type":"array"},"type":"array","title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"MultiPolygon","description":"MultiPolygon Model"},"Point":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Point","title":"Type"},"coordinates":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}],"title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"Point","description":"Point Model"},"Polygon":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Polygon","title":"Type"},"coordinates":{"items":{"items":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}]},"type":"array","minItems":4},"type":"array","title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"Polygon","description":"Polygon Model"},"Position2D":{"prefixItems":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"}],"type":"array","maxItems":2,"minItems":2},"Position3D":{"prefixItems":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Altitude"}],"type":"array","maxItems":3,"minItems":3},"StationStatus":{"properties":{"system_id":{"type":"string","title":"System Id"},"last_reported":{"type":"string","format":"date-time","title":"Last Reported"},"station_id":{"type":"string","title":"Station Id"},"num_bikes_available":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Bikes Available"},"num_docks_available":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Docks Available"},"is_installed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Installed"},"is_renting":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Renting"},"is_returning":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Returning"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"short_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Short Name"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"},"region_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Id"},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity"}},"type":"object","required":["system_id","last_reported","station_id","num_bikes_available","num_docks_available","is_installed","is_renting","is_returning","name","short_name","address","lat","lon","region_id","capacity"],"title":"StationStatus"},"StationStatus_SystemID":{"type":"string","enum":["dublin_bikes"],"title":"StationStatus_SystemID"},"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"}}}}