@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Transport for London Unified API
@base https://api-tigris.tfl.gov.uk
@version v1
@auth ApiKey app_key in query | ApiKey app_id in query
@endpoints 84
@hint download_for_search
@toc AccidentStats(1), AirQuality(1), BikePoint(3), Cabwise(1), Journey(2), Line(21), Mode(2), Occupancy(5), Place(9), Road(8), Search(5), StopPoint(23), TravelTimes(2), Vehicle(1)

@group AccidentStats
@endpoint GET /AccidentStats/{year}
@required {year: any}
@returns(200)

@endgroup

@group AirQuality
@endpoint GET /AirQuality
@returns(200)

@endgroup

@group BikePoint
@endpoint GET /BikePoint
@returns(200)

@endpoint GET /BikePoint/{id}
@required {id: any}
@returns(200)

@endpoint GET /BikePoint/Search
@required {query: any}
@returns(200)

@endgroup

@group Cabwise
@endpoint GET /Cabwise/search
@required {lat: any, lon: any}
@optional {optype: any, wc: any, radius: any, name: any, maxResults: any, legacyFormat: any, forceXml: any, twentyFourSevenOnly: any}
@returns(200)

@endgroup

@group Journey
@endpoint GET /Journey/Meta/Modes
@returns(200)

@endpoint GET /Journey/JourneyResults/{from}/to/{to}
@required {from: any, to: any}
@optional {via: any, nationalSearch: any, date: any, time: any, timeIs: any, journeyPreference: any, mode: any, accessibilityPreference: any, fromName: any, toName: any, viaName: any, maxTransferMinutes: any, maxWalkingMinutes: any, walkingSpeed: any, cyclePreference: any, adjustment: any, bikeProficiency: any, alternativeCycle: any, alternativeWalking: any, applyHtmlMarkup: any, useMultiModalCall: any, walkingOptimization: any, taxiOnlyTrip: any, routeBetweenEntrances: any, useRealTimeLiveArrivals: any, calcOneDirection: any, includeAlternativeRoutes: any, overrideMultiModalScenario: any, combineTransferLegs: any}
@returns(200)

@endgroup

@group Line
@endpoint GET /Line/Meta/Modes
@returns(200)

@endpoint GET /Line/Meta/Severity
@returns(200)

@endpoint GET /Line/Meta/DisruptionCategories
@returns(200)

@endpoint GET /Line/Meta/ServiceTypes
@returns(200)

@endpoint GET /Line/{ids}
@required {ids: any}
@returns(200)

@endpoint GET /Line/Mode/{modes}
@required {modes: any}
@returns(200)

@endpoint GET /Line/Route
@optional {serviceTypes: any}
@returns(200)

@endpoint GET /Line/{ids}/Route
@required {ids: any}
@optional {serviceTypes: any}
@returns(200)

@endpoint GET /Line/Mode/{modes}/Route
@required {modes: any}
@optional {serviceTypes: any}
@returns(200)

@endpoint GET /Line/{id}/Route/Sequence/{direction}
@required {id: any, direction: any}
@optional {serviceTypes: any, excludeCrowding: any}
@returns(200)

@endpoint GET /Line/{ids}/Status/{StartDate}/to/{EndDate}
@required {ids: any, startDate: any, endDate: any}
@optional {detail: any, dateRange.startDate: any, dateRange.endDate: any}
@returns(200)

@endpoint GET /Line/{ids}/Status
@required {ids: any}
@optional {detail: any}
@returns(200)

@endpoint GET /Line/Search/{query}
@required {query: any}
@optional {modes: any, serviceTypes: any}
@returns(200)

@endpoint GET /Line/Status/{severity}
@required {severity: any}
@returns(200)

@endpoint GET /Line/Mode/{modes}/Status
@required {modes: any}
@optional {detail: any, severityLevel: any}
@returns(200)

@endpoint GET /Line/{id}/StopPoints
@required {id: any}
@optional {tflOperatedNationalRailStationsOnly: any}
@returns(200)

@endpoint GET /Line/{id}/Timetable/{fromStopPointId}
@required {fromStopPointId: any, id: any}
@returns(200)

@endpoint GET /Line/{id}/Timetable/{fromStopPointId}/to/{toStopPointId}
@required {fromStopPointId: any, id: any, toStopPointId: any}
@returns(200)

@endpoint GET /Line/{ids}/Disruption
@required {ids: any}
@returns(200)

@endpoint GET /Line/Mode/{modes}/Disruption
@required {modes: any}
@returns(200)

@endpoint GET /Line/{ids}/Arrivals/{stopPointId}
@required {ids: any, stopPointId: any}
@optional {direction: any, destinationStationId: any}
@returns(200)

@endgroup

@group Mode
@endpoint GET /Mode/ActiveServiceTypes
@returns(200)

@endpoint GET /Mode/{mode}/Arrivals
@required {mode: any}
@optional {count: any}
@returns(200)

@endgroup

@group Occupancy
@endpoint GET /Occupancy/CarPark/{id}
@required {id: any}
@returns(200)

@endpoint GET /Occupancy/CarPark
@returns(200)

@endpoint GET /Occupancy/ChargeConnector/{ids}
@required {ids: any}
@returns(200)

@endpoint GET /Occupancy/ChargeConnector
@returns(200)

@endpoint GET /Occupancy/BikePoints/{ids}
@required {ids: any}
@returns(200)

@endgroup

@group Place
@endpoint GET /Place/Meta/Categories
@returns(200)

@endpoint GET /Place/Meta/PlaceTypes
@returns(200)

@endpoint GET /Place/Address/Streets/{Postcode}
@required {postcode: any}
@optional {postcodeInput.postcode: any}
@returns(200)

@endpoint GET /Place/Type/{types}
@required {types: any}
@optional {activeOnly: any}
@returns(200)

@endpoint GET /Place/{id}
@required {id: any}
@optional {includeChildren: any}
@returns(200)

@endpoint GET /Place
@optional {radius: any, categories: any, includeChildren: any, type: any, activeOnly: any, numberOfPlacesToReturn: any, placeGeo.swLat: any, placeGeo.swLon: any, placeGeo.neLat: any, placeGeo.neLon: any, placeGeo.lat: any, placeGeo.lon: any}
@returns(200)

@endpoint GET /Place/{type}/At/{Lat}/{Lon}
@required {type: any, lat: any, lon: any, location.lat: any, location.lon: any}
@returns(200)

@endpoint GET /Place/{type}/overlay/{z}/{Lat}/{Lon}/{width}/{height}
@required {z: any, type: any, width: any, height: any, lat: any, lon: any, location.lat: any, location.lon: any}
@returns(200)

@endpoint GET /Place/Search
@required {name: any}
@optional {types: any}
@returns(200)

@endgroup

@group Road
@endpoint GET /Road
@returns(200)

@endpoint GET /Road/{ids}
@required {ids: any}
@returns(200)

@endpoint GET /Road/{ids}/Status
@required {ids: any}
@optional {dateRangeNullable.startDate: any, dateRangeNullable.endDate: any}
@returns(200)

@endpoint GET /Road/{ids}/Disruption
@required {ids: any}
@optional {stripContent: any, severities: any, categories: any, closures: any}
@returns(200)

@endpoint GET /Road/all/Street/Disruption
@required {startDate: any, endDate: any}
@returns(200)

@endpoint GET /Road/all/Disruption/{disruptionIds}
@required {disruptionIds: any}
@optional {stripContent: any}
@returns(200)

@endpoint GET /Road/Meta/Categories
@returns(200)

@endpoint GET /Road/Meta/Severities
@returns(200)

@endgroup

@group Search
@endpoint GET /Search
@required {query: any}
@returns(200)

@endpoint GET /Search/BusSchedules
@required {query: any}
@returns(200)

@endpoint GET /Search/Meta/SearchProviders
@returns(200)

@endpoint GET /Search/Meta/Categories
@returns(200)

@endpoint GET /Search/Meta/Sorts
@returns(200)

@endgroup

@group StopPoint
@endpoint GET /StopPoint/Meta/Categories
@returns(200)

@endpoint GET /StopPoint/Meta/StopTypes
@returns(200)

@endpoint GET /StopPoint/Meta/Modes
@returns(200)

@endpoint GET /StopPoint/{ids}
@required {ids: any}
@optional {includeCrowdingData: any}
@returns(200)

@endpoint GET /StopPoint/{id}/placeTypes
@required {id: any, placeTypes: any}
@returns(200)

@endpoint GET /StopPoint/{id}/Crowding/{line}
@required {id: any, line: any, direction: any}
@returns(200)

@endpoint GET /StopPoint/Type/{types}
@required {types: any}
@returns(200)

@endpoint GET /StopPoint/Type/{types}/page/{page}
@required {types: any, page: any}
@returns(200)

@endpoint GET /StopPoint/ServiceTypes
@required {id: any}
@optional {lineIds: any, modes: any}
@returns(200)

@endpoint GET /StopPoint/{id}/Arrivals
@required {id: any}
@returns(200)

@endpoint GET /StopPoint/{id}/ArrivalDepartures
@required {id: any, lineIds: any}
@returns(200)

@endpoint GET /StopPoint/{id}/CanReachOnLine/{lineId}
@required {id: any, lineId: any}
@optional {serviceTypes: any}
@returns(200)

@endpoint GET /StopPoint/{id}/Route
@required {id: any}
@optional {serviceTypes: any}
@returns(200)

@endpoint GET /StopPoint/Mode/{modes}/Disruption
@required {modes: any}
@optional {includeRouteBlockedStops: any}
@returns(200)

@endpoint GET /StopPoint/{ids}/Disruption
@required {ids: any}
@optional {getFamily: any, includeRouteBlockedStops: any, flattenResponse: any}
@returns(200)

@endpoint GET /StopPoint/{id}/DirectionTo/{toStopPointId}
@required {id: any, toStopPointId: any}
@optional {lineId: any}
@returns(200)

@endpoint GET /StopPoint
@required {stopTypes: any, location.lat: any, location.lon: any}
@optional {radius: any, useStopPointHierarchy: any, modes: any, categories: any, returnLines: any}
@returns(200)

@endpoint GET /StopPoint/Mode/{modes}
@required {modes: any}
@optional {page: any}
@returns(200)

@endpoint GET /StopPoint/Search/{query}
@required {query: any}
@optional {modes: any, faresOnly: any, maxResults: any, lines: any, includeHubs: any, tflOperatedNationalRailStationsOnly: any}
@returns(200)

@endpoint GET /StopPoint/Search
@required {query: any}
@optional {modes: any, faresOnly: any, maxResults: any, lines: any, includeHubs: any, tflOperatedNationalRailStationsOnly: any}
@returns(200)

@endpoint GET /StopPoint/Sms/{id}
@required {id: any}
@optional {output: any}
@returns(200)

@endpoint GET /StopPoint/{stopPointId}/TaxiRanks
@required {stopPointId: any}
@returns(200)

@endpoint GET /StopPoint/{stopPointId}/CarParks
@required {stopPointId: any}
@returns(200)

@endgroup

@group TravelTimes
@endpoint GET /TravelTimes/overlay/{z}/mapcenter/{mapCenterLat}/{mapCenterLon}/pinlocation/{pinLat}/{pinLon}/dimensions/{width}/{height}
@required {z: any, pinLat: any, pinLon: any, mapCenterLat: any, mapCenterLon: any, scenarioTitle: any, timeOfDayId: any, modeId: any, width: any, height: any, direction: any, travelTimeInterval: any}
@returns(200)

@endpoint GET /TravelTimes/compareOverlay/{z}/mapcenter/{mapCenterLat}/{mapCenterLon}/pinlocation/{pinLat}/{pinLon}/dimensions/{width}/{height}
@required {z: any, pinLat: any, pinLon: any, mapCenterLat: any, mapCenterLon: any, scenarioTitle: any, timeOfDayId: any, modeId: any, width: any, height: any, direction: any, travelTimeInterval: any, compareType: any, compareValue: any}
@returns(200)

@endgroup

@group Vehicle
@endpoint GET /Vehicle/{ids}/Arrivals
@required {ids: any}
@returns(200)

@endgroup

@end
