{"files":{"SKILL.md":"---\nname: transport-for-london-unified-api\ndescription: \"Transport for London Unified API skill. Use when working with Transport for London Unified for AccidentStats, AirQuality, BikePoint. Covers 84 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Transport for London Unified API\nAPI version: v1\n\n## Auth\nApiKey app_key in query | ApiKey app_id in query\n\n## Base URL\nhttps://api-tigris.tfl.gov.uk\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /AirQuality -- gets air quality data feed\n3. Explore available endpoints below\n\n## Endpoints\n84 endpoints across 14 groups. See references/api-spec.lap for full details.\n\n### AccidentStats\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /AccidentStats/{year} | Gets all accident details for accidents occuring in the specified year |\n\n### AirQuality\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /AirQuality | Gets air quality data feed |\n\n### BikePoint\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /BikePoint | Gets all bike point locations. The Place object has an addtionalProperties array which contains the nbBikes, nbDocks and nbSpaces |\n| GET | /BikePoint/{id} | Gets the bike point with the given id. |\n| GET | /BikePoint/Search | Search for bike stations by their name, a bike point's name often contains information about the name of the street |\n\n### Cabwise\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /Cabwise/search | Gets taxis and minicabs contact information |\n\n### Journey\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /Journey/Meta/Modes | Gets a list of all of the available journey planner modes |\n| GET | /Journey/JourneyResults/{from}/to/{to} | Perform a Journey Planner search from the parameters specified in simple types |\n\n### Line\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /Line/Meta/Modes | Gets a list of valid modes |\n| GET | /Line/Meta/Severity | Gets a list of valid severity codes |\n| GET | /Line/Meta/DisruptionCategories | Gets a list of valid disruption categories |\n| GET | /Line/Meta/ServiceTypes | Gets a list of valid ServiceTypes to filter on |\n| GET | /Line/{ids} | Gets lines that match the specified line ids. |\n| GET | /Line/Mode/{modes} | Gets lines that serve the given modes. |\n| GET | /Line/Route | Get all valid routes for all lines, including the name and id of the originating and terminating stops for each route. |\n| GET | /Line/{ids}/Route | Get all valid routes for given line ids, including the name and id of the originating and terminating stops for each route. |\n| GET | /Line/Mode/{modes}/Route | Gets all lines and their valid routes for given modes, including the name and id of the originating and terminating stops for each route |\n| GET | /Line/{id}/Route/Sequence/{direction} | Gets all valid routes for given line id, including the sequence of stops on each route. |\n| GET | /Line/{ids}/Status/{StartDate}/to/{EndDate} | Gets the line status for given line ids during the provided dates e.g Minor Delays |\n| GET | /Line/{ids}/Status | Gets the line status of for given line ids e.g Minor Delays |\n| GET | /Line/Search/{query} | Search for lines or routes matching the query string |\n| GET | /Line/Status/{severity} | Gets the line status for all lines with a given severity |\n| GET | /Line/Mode/{modes}/Status | Gets the line status of for all lines for the given modes |\n| GET | /Line/{id}/StopPoints | Gets a list of the stations that serve the given line id |\n| GET | /Line/{id}/Timetable/{fromStopPointId} | Gets the timetable for a specified station on the give line |\n| GET | /Line/{id}/Timetable/{fromStopPointId}/to/{toStopPointId} | Gets the timetable for a specified station on the give line with specified destination |\n| GET | /Line/{ids}/Disruption | Get disruptions for the given line ids |\n| GET | /Line/Mode/{modes}/Disruption | Get disruptions for all lines of the given modes. |\n| GET | /Line/{ids}/Arrivals/{stopPointId} | Get the list of arrival predictions for given line ids based at the given stop |\n\n### Mode\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /Mode/ActiveServiceTypes | Returns the service type active for a mode. |\n| GET | /Mode/{mode}/Arrivals | Gets the next arrival predictions for all stops of a given mode |\n\n### Occupancy\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /Occupancy/CarPark/{id} | Gets the occupancy for a car park with a given id |\n| GET | /Occupancy/CarPark | Gets the occupancy for all car parks that have occupancy data |\n| GET | /Occupancy/ChargeConnector/{ids} | Gets the occupancy for a charge connectors with a given id (sourceSystemPlaceId) |\n| GET | /Occupancy/ChargeConnector | Gets the occupancy for all charge connectors |\n| GET | /Occupancy/BikePoints/{ids} | Get the occupancy for bike points. |\n\n### Place\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /Place/Meta/Categories | Gets a list of all of the available place property categories and keys. |\n| GET | /Place/Meta/PlaceTypes | Gets a list of the available types of Place. |\n| GET | /Place/Address/Streets/{Postcode} | Gets the set of streets associated with a post code. |\n| GET | /Place/Type/{types} | Gets all places of a given type |\n| GET | /Place/{id} | Gets the place with the given id. |\n| GET | /Place | Gets the places that lie within a geographic region. The geographic region of interest can either be specified |\n| GET | /Place/{type}/At/{Lat}/{Lon} | Gets any places of the given type whose geography intersects the given latitude and longitude. In practice this means the Place |\n| GET | /Place/{type}/overlay/{z}/{Lat}/{Lon}/{width}/{height} | Gets the place overlay for a given set of co-ordinates and a given width/height. |\n| GET | /Place/Search | Gets all places that matches the given query |\n\n### Road\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /Road | Gets all roads managed by TfL |\n| GET | /Road/{ids} | Gets the road with the specified id (e.g. A1) |\n| GET | /Road/{ids}/Status | Gets the specified roads with the status aggregated over the date range specified, or now until the end of today if no dates are passed. |\n| GET | /Road/{ids}/Disruption | Get active disruptions, filtered by road ids |\n| GET | /Road/all/Street/Disruption | Gets a list of disrupted streets. If no date filters are provided, current disruptions are returned. |\n| GET | /Road/all/Disruption/{disruptionIds} | Gets a list of active disruptions filtered by disruption Ids. |\n| GET | /Road/Meta/Categories | Gets a list of valid RoadDisruption categories |\n| GET | /Road/Meta/Severities | Gets a list of valid RoadDisruption severity codes |\n\n### Search\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /Search | Search the site for occurrences of the query string. The maximum number of results returned is equal to the maximum page size |\n| GET | /Search/BusSchedules | Searches the bus schedules folder on S3 for a given bus number. |\n| GET | /Search/Meta/SearchProviders | Gets the available searchProvider names. |\n| GET | /Search/Meta/Categories | Gets the available search categories. |\n| GET | /Search/Meta/Sorts | Gets the available sorting options. |\n\n### StopPoint\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /StopPoint/Meta/Categories | Gets the list of available StopPoint additional information categories |\n| GET | /StopPoint/Meta/StopTypes | Gets the list of available StopPoint types |\n| GET | /StopPoint/Meta/Modes | Gets the list of available StopPoint modes |\n| GET | /StopPoint/{ids} | Gets a list of StopPoints corresponding to the given list of stop ids. |\n| GET | /StopPoint/{id}/placeTypes | Get a list of places corresponding to a given id and place types. |\n| GET | /StopPoint/{id}/Crowding/{line} | Gets all the Crowding data (static) for the StopPointId, plus crowding data for a given line and optionally a particular direction. |\n| GET | /StopPoint/Type/{types} | Gets all stop points of a given type |\n| GET | /StopPoint/Type/{types}/page/{page} | Gets all the stop points of given type(s) with a page number |\n| GET | /StopPoint/ServiceTypes | Gets the service types for a given stoppoint |\n| GET | /StopPoint/{id}/Arrivals | Gets the list of arrival predictions for the given stop point id |\n| GET | /StopPoint/{id}/ArrivalDepartures | Gets the list of arrival and departure predictions for the given stop point id (overground, Elizabeth line and thameslink only) |\n| GET | /StopPoint/{id}/CanReachOnLine/{lineId} | Gets Stopoints that are reachable from a station/line combination. |\n| GET | /StopPoint/{id}/Route | Returns the route sections for all the lines that service the given stop point ids |\n| GET | /StopPoint/Mode/{modes}/Disruption | Gets a distinct list of disrupted stop points for the given modes |\n| GET | /StopPoint/{ids}/Disruption | Gets all disruptions for the specified StopPointId, plus disruptions for any child Naptan records it may have. |\n| GET | /StopPoint/{id}/DirectionTo/{toStopPointId} | Returns the canonical direction, \"inbound\" or \"outbound\", for a given pair of stop point Ids in the direction from -> to. |\n| GET | /StopPoint | Gets a list of StopPoints within {radius} by the specified criteria |\n| GET | /StopPoint/Mode/{modes} | Gets a list of StopPoints filtered by the modes available at that StopPoint. |\n| GET | /StopPoint/Search/{query} | Search StopPoints by their common name, or their 5-digit Countdown Bus Stop Code. |\n| GET | /StopPoint/Search | Search StopPoints by their common name, or their 5-digit Countdown Bus Stop Code. |\n| GET | /StopPoint/Sms/{id} | Gets a StopPoint for a given sms code. |\n| GET | /StopPoint/{stopPointId}/TaxiRanks | Gets a list of taxi ranks corresponding to the given stop point id. |\n| GET | /StopPoint/{stopPointId}/CarParks | Get car parks corresponding to the given stop point id. |\n\n### TravelTimes\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /TravelTimes/overlay/{z}/mapcenter/{mapCenterLat}/{mapCenterLon}/pinlocation/{pinLat}/{pinLon}/dimensions/{width}/{height} | Gets the TravelTime overlay. |\n| GET | /TravelTimes/compareOverlay/{z}/mapcenter/{mapCenterLat}/{mapCenterLon}/pinlocation/{pinLat}/{pinLon}/dimensions/{width}/{height} | Gets the TravelTime overlay. |\n\n### Vehicle\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /Vehicle/{ids}/Arrivals | Gets the predictions for a given list of vehicle Id's. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Get AccidentStat details?\" -> GET /AccidentStats/{year}\n- \"List all AirQuality?\" -> GET /AirQuality\n- \"List all BikePoint?\" -> GET /BikePoint\n- \"Get BikePoint details?\" -> GET /BikePoint/{id}\n- \"Search Search?\" -> GET /BikePoint/Search\n- \"List all search?\" -> GET /Cabwise/search\n- \"List all Modes?\" -> GET /Journey/Meta/Modes\n- \"Get to details?\" -> GET /Journey/JourneyResults/{from}/to/{to}\n- \"List all Severity?\" -> GET /Line/Meta/Severity\n- \"List all DisruptionCategories?\" -> GET /Line/Meta/DisruptionCategories\n- \"List all ServiceTypes?\" -> GET /Line/Meta/ServiceTypes\n- \"Get Line details?\" -> GET /Line/{ids}\n- \"Get Mode details?\" -> GET /Line/Mode/{modes}\n- \"List all Route?\" -> GET /Line/Route\n- \"Get Sequence details?\" -> GET /Line/{id}/Route/Sequence/{direction}\n- \"List all Status?\" -> GET /Line/{ids}/Status\n- \"Get Search details?\" -> GET /Line/Search/{query}\n- \"Get Status details?\" -> GET /Line/Status/{severity}\n- \"List all StopPoints?\" -> GET /Line/{id}/StopPoints\n- \"Get Timetable details?\" -> GET /Line/{id}/Timetable/{fromStopPointId}\n- \"List all Disruption?\" -> GET /Line/{ids}/Disruption\n- \"Get Arrival details?\" -> GET /Line/{ids}/Arrivals/{stopPointId}\n- \"List all ActiveServiceTypes?\" -> GET /Mode/ActiveServiceTypes\n- \"List all Arrivals?\" -> GET /Mode/{mode}/Arrivals\n- \"Get CarPark details?\" -> GET /Occupancy/CarPark/{id}\n- \"List all CarPark?\" -> GET /Occupancy/CarPark\n- \"Get ChargeConnector details?\" -> GET /Occupancy/ChargeConnector/{ids}\n- \"List all ChargeConnector?\" -> GET /Occupancy/ChargeConnector\n- \"List all Categories?\" -> GET /Place/Meta/Categories\n- \"List all PlaceTypes?\" -> GET /Place/Meta/PlaceTypes\n- \"Get Street details?\" -> GET /Place/Address/Streets/{Postcode}\n- \"Get Type details?\" -> GET /Place/Type/{types}\n- \"Get Place details?\" -> GET /Place/{id}\n- \"List all Place?\" -> GET /Place\n- \"Get At details?\" -> GET /Place/{type}/At/{Lat}/{Lon}\n- \"Get overlay details?\" -> GET /Place/{type}/overlay/{z}/{Lat}/{Lon}/{width}/{height}\n- \"List all Search?\" -> GET /Place/Search\n- \"List all Road?\" -> GET /Road\n- \"Get Road details?\" -> GET /Road/{ids}\n- \"Get Disruption details?\" -> GET /Road/all/Disruption/{disruptionIds}\n- \"List all Severities?\" -> GET /Road/Meta/Severities\n- \"Search BusSchedules?\" -> GET /Search/BusSchedules\n- \"List all SearchProviders?\" -> GET /Search/Meta/SearchProviders\n- \"List all Sorts?\" -> GET /Search/Meta/Sorts\n- \"List all StopTypes?\" -> GET /StopPoint/Meta/StopTypes\n- \"Get StopPoint details?\" -> GET /StopPoint/{ids}\n- \"List all placeTypes?\" -> GET /StopPoint/{id}/placeTypes\n- \"Get Crowding details?\" -> GET /StopPoint/{id}/Crowding/{line}\n- \"Get page details?\" -> GET /StopPoint/Type/{types}/page/{page}\n- \"List all ArrivalDepartures?\" -> GET /StopPoint/{id}/ArrivalDepartures\n- \"Get CanReachOnLine details?\" -> GET /StopPoint/{id}/CanReachOnLine/{lineId}\n- \"Get DirectionTo details?\" -> GET /StopPoint/{id}/DirectionTo/{toStopPointId}\n- \"List all StopPoint?\" -> GET /StopPoint\n- \"Get Sm details?\" -> GET /StopPoint/Sms/{id}\n- \"List all TaxiRanks?\" -> GET /StopPoint/{stopPointId}/TaxiRanks\n- \"List all CarParks?\" -> GET /StopPoint/{stopPointId}/CarParks\n- \"Get dimension details?\" -> GET /TravelTimes/overlay/{z}/mapcenter/{mapCenterLat}/{mapCenterLon}/pinlocation/{pinLat}/{pinLon}/dimensions/{width}/{height}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Transport for London Unified API\n@base https://api.digital.tfl.gov.uk\n@version v1\n@auth ApiKey app_key in query | ApiKey app_id in query\n@endpoints 84\n@hint download_for_search\n@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)\n\n@group AccidentStats\n@endpoint GET /AccidentStats/{year}\n@desc Gets all accident details for accidents occuring in the specified year\n@required {year: any # The year for which to filter the accidents on.}\n@returns(200) OK\n\n@endgroup\n\n@group AirQuality\n@endpoint GET /AirQuality\n@desc Gets air quality data feed\n@returns(200) OK\n\n@endgroup\n\n@group BikePoint\n@endpoint GET /BikePoint\n@desc Gets all bike point locations. The Place object has an addtionalProperties array which contains the nbBikes, nbDocks and nbSpaces\n@returns(200) OK\n\n@endpoint GET /BikePoint/{id}\n@desc Gets the bike point with the given id.\n@required {id: any # A bike point id (a list of ids can be obtained from the above BikePoint call)}\n@returns(200) OK\n\n@endpoint GET /BikePoint/Search\n@desc Search for bike stations by their name, a bike point's name often contains information about the name of the street\n@required {query: any # The search term e.g. \"St. James\"}\n@returns(200) OK\n\n@endgroup\n\n@group Cabwise\n@endpoint GET /Cabwise/search\n@desc Gets taxis and minicabs contact information\n@required {lat: any # Latitude, lon: any # Longitude}\n@optional {optype: any # Operator Type e.g Minicab, Executive, Limousine, wc: any # Wheelchair accessible, radius: any # The radius of the bounding circle in metres, name: any # Trading name of operating company, maxResults: any # An optional parameter to limit the number of results return. Default and maximum is 20., legacyFormat: any # Legacy Format, forceXml: any # Force Xml, twentyFourSevenOnly: any # Twenty Four Seven Only}\n@returns(200) OK\n\n@endgroup\n\n@group Journey\n@endpoint GET /Journey/Meta/Modes\n@desc Gets a list of all of the available journey planner modes\n@returns(200) OK\n\n@endpoint GET /Journey/JourneyResults/{from}/to/{to}\n@desc Perform a Journey Planner search from the parameters specified in simple types\n@required {from: any # Origin of the journey. Can be WGS84 coordinates expressed as \"lat,long\", a UK postcode, a Naptan (StopPoint) id, an ICS StopId, or a free-text string (will cause disambiguation unless it exactly matches a point of interest name)., to: any # Destination of the journey. Can be WGS84 coordinates expressed as \"lat,long\", a UK postcode, a Naptan (StopPoint) id, an ICS StopId, or a free-text string (will cause disambiguation unless it exactly matches a point of interest name).}\n@optional {via: any # Travel through point on the journey. Can be WGS84 coordinates expressed as \"lat,long\", a UK postcode, a Naptan (StopPoint) id, an ICS StopId, or a free-text string (will cause disambiguation unless it exactly matches a point of interest name)., nationalSearch: any # Does the journey cover stops outside London? eg. \"nationalSearch=true\", date: any # The date must be in yyyyMMdd format, time: any # The time must be in HHmm format, timeIs: any # Does the time given relate to arrival or leaving time? Possible options: \"departing\" | \"arriving\", journeyPreference: any # The journey preference eg possible options: \"leastinterchange\" | \"leasttime\" | \"leastwalking\", mode: any # The mode must be a comma separated list of modes. eg possible options: \"public-bus,overground,train,tube,coach,dlr,cablecar,tram,river,walking,cycle\", accessibilityPreference: any # The accessibility preference must be a comma separated list eg. \"noSolidStairs,noEscalators,noElevators,stepFreeToVehicle,stepFreeToPlatform\", fromName: any # An optional name to associate with the origin of the journey in the results., toName: any # An optional name to associate with the destination of the journey in the results., viaName: any # An optional name to associate with the via point of the journey in the results., maxTransferMinutes: any # The max walking time in minutes for transfer eg. \"120\", maxWalkingMinutes: any # The max walking time in minutes for journeys eg. \"120\", walkingSpeed: any # The walking speed. eg possible options: \"slow\" | \"average\" | \"fast\"., cyclePreference: any # The cycle preference. eg possible options: \"allTheWay\" | \"leaveAtStation\" | \"takeOnTransport\" | \"cycleHire\", adjustment: any # Time adjustment command. eg possible options: \"TripFirst\" | \"TripLast\", bikeProficiency: any # A comma separated list of cycling proficiency levels. eg possible options: \"easy,moderate,fast\", alternativeCycle: any # Option to determine whether to return alternative cycling journey, alternativeWalking: any # Option to determine whether to return alternative walking journey, applyHtmlMarkup: any # Flag to determine whether certain text (e.g. walking instructions) should be output with HTML tags or not., useMultiModalCall: any # A boolean to indicate whether or not to return 3 public transport journeys, a bus journey, a cycle hire journey, a personal cycle journey and a walking journey, walkingOptimization: any # A boolean to indicate whether to optimize journeys using walking, taxiOnlyTrip: any # A boolean to indicate whether to return one or more taxi journeys. Note, setting this to true will override \"useMultiModalCall\"., routeBetweenEntrances: any # A boolean to indicate whether public transport routes should include directions between platforms and station entrances., useRealTimeLiveArrivals: any # A boolean to indicate if we want to receive real time live arrivals data where available., calcOneDirection: any # A boolean to make Journey Planner calculate journeys in one temporal direction only. In other words, only calculate journeys after the 'depart' time, or before the 'arrive' time. By default, the Journey Planner engine (EFA) calculates journeys in both temporal directions., includeAlternativeRoutes: any # A boolean to make Journey Planner return alternative routes. Alternative routes are calculated by removing one or more lines included in the fastest route and re-calculating. By default, these journeys will not be returned., overrideMultiModalScenario: any # An optional integer to indicate what multi modal scenario we want to use., combineTransferLegs: any # A boolean to indicate whether walking leg to station entrance and walking leg from station entrance to platform should be combined. Defaults to true}\n@returns(200) OK\n\n@endgroup\n\n@group Line\n@endpoint GET /Line/Meta/Modes\n@desc Gets a list of valid modes\n@returns(200) OK\n\n@endpoint GET /Line/Meta/Severity\n@desc Gets a list of valid severity codes\n@returns(200) OK\n\n@endpoint GET /Line/Meta/DisruptionCategories\n@desc Gets a list of valid disruption categories\n@returns(200) OK\n\n@endpoint GET /Line/Meta/ServiceTypes\n@desc Gets a list of valid ServiceTypes to filter on\n@returns(200) OK\n\n@endpoint GET /Line/{ids}\n@desc Gets lines that match the specified line ids.\n@required {ids: any # A comma-separated list of line ids e.g. victoria,circle,N133. Max. approx. 20 ids.}\n@returns(200) OK\n\n@endpoint GET /Line/Mode/{modes}\n@desc Gets lines that serve the given modes.\n@required {modes: any # A comma-separated list of modes e.g. tube,dlr}\n@returns(200) OK\n\n@endpoint GET /Line/Route\n@desc Get all valid routes for all lines, including the name and id of the originating and terminating stops for each route.\n@optional {serviceTypes: any # A comma seperated list of service types to filter on. Supported values: Regular, Night. Defaulted to 'Regular' if not specified}\n@returns(200) OK\n\n@endpoint GET /Line/{ids}/Route\n@desc Get all valid routes for given line ids, including the name and id of the originating and terminating stops for each route.\n@required {ids: any # A comma-separated list of line ids e.g. victoria,circle,N133. Max. approx. 20 ids.}\n@optional {serviceTypes: any # A comma seperated list of service types to filter on. Supported values: Regular, Night. Defaulted to 'Regular' if not specified}\n@returns(200) OK\n\n@endpoint GET /Line/Mode/{modes}/Route\n@desc Gets all lines and their valid routes for given modes, including the name and id of the originating and terminating stops for each route\n@required {modes: any # A comma-separated list of modes e.g. tube,dlr}\n@optional {serviceTypes: any # A comma seperated list of service types to filter on. Supported values: Regular, Night. Defaulted to 'Regular' if not specified}\n@returns(200) OK\n\n@endpoint GET /Line/{id}/Route/Sequence/{direction}\n@desc Gets all valid routes for given line id, including the sequence of stops on each route.\n@required {id: any # A single line id e.g. victoria, direction: any # The direction of travel. Can be inbound or outbound.}\n@optional {serviceTypes: any # A comma seperated list of service types to filter on. Supported values: Regular, Night. Defaulted to 'Regular' if not specified, excludeCrowding: any # That excludes crowding from line disruptions. Can be true or false.}\n@returns(200) OK\n\n@endpoint GET /Line/{ids}/Status/{StartDate}/to/{EndDate}\n@desc Gets the line status for given line ids during the provided dates e.g Minor Delays\n@required {ids: any # A comma-separated list of line ids e.g. victoria,circle,N133. Max. approx. 20 ids., startDate: any, endDate: any}\n@optional {detail: any # Include details of the disruptions that are causing the line status including the affected stops and routes, dateRange.startDate: any, dateRange.endDate: any}\n@returns(200) OK\n\n@endpoint GET /Line/{ids}/Status\n@desc Gets the line status of for given line ids e.g Minor Delays\n@required {ids: any # A comma-separated list of line ids e.g. victoria,circle,N133. Max. approx. 20 ids.}\n@optional {detail: any # Include details of the disruptions that are causing the line status including the affected stops and routes}\n@returns(200) OK\n\n@endpoint GET /Line/Search/{query}\n@desc Search for lines or routes matching the query string\n@required {query: any # Search term e.g victoria}\n@optional {modes: any # Optionally filter by the specified modes, serviceTypes: any # A comma seperated list of service types to filter on. Supported values: Regular, Night. Defaulted to 'Regular' if not specified}\n@returns(200) OK\n\n@endpoint GET /Line/Status/{severity}\n@desc Gets the line status for all lines with a given severity\n@required {severity: any # The level of severity (eg: a number from 0 to 14)}\n@returns(200) OK\n\n@endpoint GET /Line/Mode/{modes}/Status\n@desc Gets the line status of for all lines for the given modes\n@required {modes: any # A comma-separated list of modes to filter by. e.g. tube,dlr}\n@optional {detail: any # Include details of the disruptions that are causing the line status including the affected stops and routes, severityLevel: any # If specified, ensures that only those line status(es) are returned within the lines that have disruptions with the matching severity level.}\n@returns(200) OK\n\n@endpoint GET /Line/{id}/StopPoints\n@desc Gets a list of the stations that serve the given line id\n@required {id: any # A single line id e.g. victoria}\n@optional {tflOperatedNationalRailStationsOnly: any # If the national-rail line is requested, this flag will filter the national rail stations so that only those operated by TfL are returned}\n@returns(200) OK\n\n@endpoint GET /Line/{id}/Timetable/{fromStopPointId}\n@desc Gets the timetable for a specified station on the give line\n@required {fromStopPointId: any # The originating station's stop point id (station naptan code e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name), id: any # A single line id e.g. victoria}\n@returns(200) OK\n\n@endpoint GET /Line/{id}/Timetable/{fromStopPointId}/to/{toStopPointId}\n@desc Gets the timetable for a specified station on the give line with specified destination\n@required {fromStopPointId: any # The originating station's stop point id (station naptan code e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name), id: any # A single line id e.g. victoria, toStopPointId: any # The destination stations's Naptan code}\n@returns(200) OK\n\n@endpoint GET /Line/{ids}/Disruption\n@desc Get disruptions for the given line ids\n@required {ids: any # A comma-separated list of line ids e.g. victoria,circle,N133. Max. approx. 20 ids.}\n@returns(200) OK\n\n@endpoint GET /Line/Mode/{modes}/Disruption\n@desc Get disruptions for all lines of the given modes.\n@required {modes: any # A comma-separated list of modes e.g. tube,dlr}\n@returns(200) OK\n\n@endpoint GET /Line/{ids}/Arrivals/{stopPointId}\n@desc Get the list of arrival predictions for given line ids based at the given stop\n@required {ids: any # A comma-separated list of line ids e.g. victoria,circle,N133. Max. approx. 20 ids., stopPointId: any # Optional. Id of stop to get arrival predictions for (station naptan code e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name)}\n@optional {direction: any # Optional. The direction of travel. Can be inbound or outbound or all. If left blank, and destinationStopId is set, will default to all, destinationStationId: any # Optional. Id of destination stop}\n@returns(200) OK\n\n@endgroup\n\n@group Mode\n@endpoint GET /Mode/ActiveServiceTypes\n@desc Returns the service type active for a mode.\n@returns(200) OK\n\n@endpoint GET /Mode/{mode}/Arrivals\n@desc Gets the next arrival predictions for all stops of a given mode\n@required {mode: any # A mode name e.g. tube, dlr}\n@optional {count: any # A number of arrivals to return for each stop, -1 to return all available.}\n@returns(200) OK\n\n@endgroup\n\n@group Occupancy\n@endpoint GET /Occupancy/CarPark/{id}\n@desc Gets the occupancy for a car park with a given id\n@required {id: any}\n@returns(200) OK\n\n@endpoint GET /Occupancy/CarPark\n@desc Gets the occupancy for all car parks that have occupancy data\n@returns(200) OK\n\n@endpoint GET /Occupancy/ChargeConnector/{ids}\n@desc Gets the occupancy for a charge connectors with a given id (sourceSystemPlaceId)\n@required {ids: any}\n@returns(200) OK\n\n@endpoint GET /Occupancy/ChargeConnector\n@desc Gets the occupancy for all charge connectors\n@returns(200) OK\n\n@endpoint GET /Occupancy/BikePoints/{ids}\n@desc Get the occupancy for bike points.\n@required {ids: any}\n@returns(200) OK\n\n@endgroup\n\n@group Place\n@endpoint GET /Place/Meta/Categories\n@desc Gets a list of all of the available place property categories and keys.\n@returns(200) OK\n\n@endpoint GET /Place/Meta/PlaceTypes\n@desc Gets a list of the available types of Place.\n@returns(200) OK\n\n@endpoint GET /Place/Address/Streets/{Postcode}\n@desc Gets the set of streets associated with a post code.\n@required {postcode: any}\n@optional {postcodeInput.postcode: any}\n@returns(200) OK\n\n@endpoint GET /Place/Type/{types}\n@desc Gets all places of a given type\n@required {types: any # A comma-separated list of the types to return. Max. approx 12 types.\r             A valid list of place types can be obtained from the /Place/Meta/placeTypes endpoint.}\n@optional {activeOnly: any # An optional parameter to limit the results to active records only (Currently only the 'VariableMessageSign' place type is supported)}\n@returns(200) OK\n\n@endpoint GET /Place/{id}\n@desc Gets the place with the given id.\n@required {id: any # The id of the place, you can use the /Place/Types/{types} endpoint to get a list of places for a given type including their ids}\n@optional {includeChildren: any # Defaults to false. If true child places e.g. individual charging stations at a charge point while be included, otherwise just the URLs of any child places will be returned}\n@returns(200) OK\n\n@endpoint GET /Place\n@desc Gets the places that lie within a geographic region. The geographic region of interest can either be specified\n@optional {radius: any # The radius of the bounding circle in metres when only lat/lon are specified., categories: any # An optional list of comma separated property categories to return in the Place's property bag. If null or empty, all categories of property are returned. Pass the keyword \"none\" to return no properties (a valid list of categories can be obtained from the /Place/Meta/categories endpoint), includeChildren: any # Defaults to false. If true child places e.g. individual charging stations at a charge point while be included, otherwise just the URLs of any child places will be returned, type: any # Place types to filter on, or null to return all types, activeOnly: any # An optional parameter to limit the results to active records only (Currently only the 'VariableMessageSign' place type is supported), numberOfPlacesToReturn: any # If specified, limits the number of returned places equal to the given value, placeGeo.swLat: any, placeGeo.swLon: any, placeGeo.neLat: any, placeGeo.neLon: any, placeGeo.lat: any, placeGeo.lon: any}\n@returns(200) OK\n\n@endpoint GET /Place/{type}/At/{Lat}/{Lon}\n@desc Gets any places of the given type whose geography intersects the given latitude and longitude. In practice this means the Place\n@required {type: any # The place type (a valid list of place types can be obtained from the /Place/Meta/placeTypes endpoint), lat: any, lon: any, location.lat: any, location.lon: any}\n@returns(200) OK\n\n@endpoint GET /Place/{type}/overlay/{z}/{Lat}/{Lon}/{width}/{height}\n@desc Gets the place overlay for a given set of co-ordinates and a given width/height.\n@required {z: any # The zoom level, type: any # The place type (a valid list of place types can be obtained from the /Place/Meta/placeTypes endpoint), width: any # The width of the requested overlay., height: any # The height of the requested overlay., lat: any, lon: any, location.lat: any, location.lon: any}\n@returns(200) OK\n\n@endpoint GET /Place/Search\n@desc Gets all places that matches the given query\n@required {name: any # The name of the place, you can use the /Place/Types/{types} endpoint to get a list of places for a given type including their names.}\n@optional {types: any # A comma-separated list of the types to return. Max. approx 12 types.}\n@returns(200) OK\n\n@endgroup\n\n@group Road\n@endpoint GET /Road\n@desc Gets all roads managed by TfL\n@returns(200) OK\n\n@endpoint GET /Road/{ids}\n@desc Gets the road with the specified id (e.g. A1)\n@required {ids: any # Comma-separated list of road identifiers e.g. \"A406, A2\" (a full list of supported road identifiers can be found at the /Road/ endpoint)}\n@returns(200) OK\n\n@endpoint GET /Road/{ids}/Status\n@desc Gets the specified roads with the status aggregated over the date range specified, or now until the end of today if no dates are passed.\n@required {ids: any # Comma-separated list of road identifiers e.g. \"A406, A2\" or use \"all\" to ignore id filter (a full list of supported road identifiers can be found at the /Road/ endpoint)}\n@optional {dateRangeNullable.startDate: any, dateRangeNullable.endDate: any}\n@returns(200) OK\n\n@endpoint GET /Road/{ids}/Disruption\n@desc Get active disruptions, filtered by road ids\n@required {ids: any # Comma-separated list of road identifiers e.g. \"A406, A2\" use all for all to ignore id filter (a full list of supported road identifiers can be found at the /Road/ endpoint)}\n@optional {stripContent: any # Optional, defaults to false. When true, removes every property/node except for id, point, severity, severityDescription, startDate, endDate, corridor details, location, comments and streets, severities: any # an optional list of Severity names to filter on (a valid list of severities can be obtained from the /Road/Meta/severities endpoint), categories: any # an optional list of category names to filter on (a valid list of categories can be obtained from the /Road/Meta/categories endpoint), closures: any # Optional, defaults to true. When true, always includes disruptions that have road closures, regardless of the severity filter. When false, the severity filter works as normal.}\n@returns(200) OK\n\n@endpoint GET /Road/all/Street/Disruption\n@desc Gets a list of disrupted streets. If no date filters are provided, current disruptions are returned.\n@required {startDate: any # Optional, the start time to filter on., endDate: any # Optional, The end time to filter on.}\n@returns(200) OK\n\n@endpoint GET /Road/all/Disruption/{disruptionIds}\n@desc Gets a list of active disruptions filtered by disruption Ids.\n@required {disruptionIds: any # Comma-separated list of disruption identifiers to filter by.}\n@optional {stripContent: any # Optional, defaults to false. When true, removes every property/node except for id, point, severity, severityDescription, startDate, endDate, corridor details, location and comments.}\n@returns(200) OK\n\n@endpoint GET /Road/Meta/Categories\n@desc Gets a list of valid RoadDisruption categories\n@returns(200) OK\n\n@endpoint GET /Road/Meta/Severities\n@desc Gets a list of valid RoadDisruption severity codes\n@returns(200) OK\n\n@endgroup\n\n@group Search\n@endpoint GET /Search\n@desc Search the site for occurrences of the query string. The maximum number of results returned is equal to the maximum page size\n@required {query: any # The search query}\n@returns(200) OK\n\n@endpoint GET /Search/BusSchedules\n@desc Searches the bus schedules folder on S3 for a given bus number.\n@required {query: any # The search query}\n@returns(200) OK\n\n@endpoint GET /Search/Meta/SearchProviders\n@desc Gets the available searchProvider names.\n@returns(200) OK\n\n@endpoint GET /Search/Meta/Categories\n@desc Gets the available search categories.\n@returns(200) OK\n\n@endpoint GET /Search/Meta/Sorts\n@desc Gets the available sorting options.\n@returns(200) OK\n\n@endgroup\n\n@group StopPoint\n@endpoint GET /StopPoint/Meta/Categories\n@desc Gets the list of available StopPoint additional information categories\n@returns(200) OK\n\n@endpoint GET /StopPoint/Meta/StopTypes\n@desc Gets the list of available StopPoint types\n@returns(200) OK\n\n@endpoint GET /StopPoint/Meta/Modes\n@desc Gets the list of available StopPoint modes\n@returns(200) OK\n\n@endpoint GET /StopPoint/{ids}\n@desc Gets a list of StopPoints corresponding to the given list of stop ids.\n@required {ids: any # A comma-separated list of stop point ids (station naptan code e.g. 940GZZLUASL). Max. approx. 20 ids.\r             You can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name.}\n@optional {includeCrowdingData: any # Include the crowding data (static). To Filter further use: /StopPoint/{ids}/Crowding/{line}}\n@returns(200) OK\n\n@endpoint GET /StopPoint/{id}/placeTypes\n@desc Get a list of places corresponding to a given id and place types.\n@required {id: any # A naptan id for a stop point (station naptan code e.g. 940GZZLUASL)., placeTypes: any # A comcomma-separated value representing the place types.}\n@returns(200) OK\n\n@endpoint GET /StopPoint/{id}/Crowding/{line}\n@desc Gets all the Crowding data (static) for the StopPointId, plus crowding data for a given line and optionally a particular direction.\n@required {id: any # The Naptan id of the stop, line: any # A particular line e.g. victoria, circle, northern etc., direction: any # The direction of travel. Can be inbound or outbound.}\n@returns(200) OK\n\n@endpoint GET /StopPoint/Type/{types}\n@desc Gets all stop points of a given type\n@required {types: any # A comma-separated list of the types to return. Max. approx. 12 types. \r             A list of valid stop types can be obtained from the StopPoint/meta/stoptypes endpoint.}\n@returns(200) OK\n\n@endpoint GET /StopPoint/Type/{types}/page/{page}\n@desc Gets all the stop points of given type(s) with a page number\n@required {types: any, page: any}\n@returns(200) OK\n\n@endpoint GET /StopPoint/ServiceTypes\n@desc Gets the service types for a given stoppoint\n@required {id: any # The Naptan id of the stop}\n@optional {lineIds: any # The lines which contain the given Naptan id (all lines relevant to the given stoppoint if empty), modes: any # The modes which the lines are relevant to (all if empty)}\n@returns(200) OK\n\n@endpoint GET /StopPoint/{id}/Arrivals\n@desc Gets the list of arrival predictions for the given stop point id\n@required {id: any # A StopPoint id (station naptan code e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name)}\n@returns(200) OK\n\n@endpoint GET /StopPoint/{id}/ArrivalDepartures\n@desc Gets the list of arrival and departure predictions for the given stop point id (overground, Elizabeth line and thameslink only)\n@required {id: any # A StopPoint id (station naptan code e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name), lineIds: any # A comma-separated list of line ids e.g. elizabeth, london-overground, thameslink}\n@returns(200) OK\n\n@endpoint GET /StopPoint/{id}/CanReachOnLine/{lineId}\n@desc Gets Stopoints that are reachable from a station/line combination.\n@required {id: any # The id (station naptan code e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name) of the stop point to filter by, lineId: any # Line id of the line to filter by (e.g. victoria)}\n@optional {serviceTypes: any # A comma-separated list of service types to filter on. If not specified. Supported values: Regular, Night. Defaulted to 'Regular' if not specified}\n@returns(200) OK\n\n@endpoint GET /StopPoint/{id}/Route\n@desc Returns the route sections for all the lines that service the given stop point ids\n@required {id: any # A stop point id (station naptan codes e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name)}\n@optional {serviceTypes: any # A comma-separated list of service types to filter on. If not specified. Supported values: Regular, Night. Defaulted to 'Regular' if not specified}\n@returns(200) OK\n\n@endpoint GET /StopPoint/Mode/{modes}/Disruption\n@desc Gets a distinct list of disrupted stop points for the given modes\n@required {modes: any # A comma-seperated list of modes e.g. tube,dlr}\n@optional {includeRouteBlockedStops: any}\n@returns(200) OK\n\n@endpoint GET /StopPoint/{ids}/Disruption\n@desc Gets all disruptions for the specified StopPointId, plus disruptions for any child Naptan records it may have.\n@required {ids: any # A comma-seperated list of stop point ids. Max. approx. 20 ids.\r             You can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name.}\n@optional {getFamily: any # Specify true to return disruptions for entire family, or false to return disruptions for just this stop point. Defaults to false., includeRouteBlockedStops: any, flattenResponse: any # Specify true to associate all disruptions with parent stop point. (Only applicable when getFamily is true).}\n@returns(200) OK\n\n@endpoint GET /StopPoint/{id}/DirectionTo/{toStopPointId}\n@desc Returns the canonical direction, \"inbound\" or \"outbound\", for a given pair of stop point Ids in the direction from -> to.\n@required {id: any # Originating stop id (station naptan code e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name), toStopPointId: any # Destination stop id (station naptan code e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name)}\n@optional {lineId: any # Optional line id filter e.g. victoria}\n@returns(200) OK\n\n@endpoint GET /StopPoint\n@desc Gets a list of StopPoints within {radius} by the specified criteria\n@required {stopTypes: any # a list of stopTypes that should be returned (a list of valid stop types can be obtained from the StopPoint/meta/stoptypes endpoint), location.lat: any, location.lon: any}\n@optional {radius: any # the radius of the bounding circle in metres (default : 200), useStopPointHierarchy: any # Re-arrange the output into a parent/child hierarchy, modes: any # the list of modes to search (comma separated mode names e.g. tube,dlr), categories: any # an optional list of comma separated property categories to return in the StopPoint's property bag. If null or empty, all categories of property are returned. Pass the keyword \"none\" to return no properties (a valid list of categories can be obtained from the /StopPoint/Meta/categories endpoint), returnLines: any # true to return the lines that each stop point serves as a nested resource}\n@returns(200) OK\n\n@endpoint GET /StopPoint/Mode/{modes}\n@desc Gets a list of StopPoints filtered by the modes available at that StopPoint.\n@required {modes: any # A comma-seperated list of modes e.g. tube,dlr}\n@optional {page: any # The data set page to return. Page 1 equates to the first 1000 stop points, page 2 equates to 1001-2000 etc. Must be entered for bus mode as data set is too large.}\n@returns(200) OK\n\n@endpoint GET /StopPoint/Search/{query}\n@desc Search StopPoints by their common name, or their 5-digit Countdown Bus Stop Code.\n@required {query: any # The query string, case-insensitive. Leading and trailing wildcards are applied automatically.}\n@optional {modes: any # An optional, parameter separated list of the modes to filter by, faresOnly: any # True to only return stations in that have Fares data available for single fares to another station., maxResults: any # An optional result limit, defaulting to and with a maximum of 50. Since children of the stop point heirarchy are returned for matches,\r             it is possible that the flattened result set will contain more than 50 items., lines: any # An optional, parameter separated list of the lines to filter by, includeHubs: any # If true, returns results including HUBs., tflOperatedNationalRailStationsOnly: any # If the national-rail mode is included, this flag will filter the national rail stations so that only those operated by TfL are returned}\n@returns(200) OK\n\n@endpoint GET /StopPoint/Search\n@desc Search StopPoints by their common name, or their 5-digit Countdown Bus Stop Code.\n@required {query: any # The query string, case-insensitive. Leading and trailing wildcards are applied automatically.}\n@optional {modes: any # An optional, parameter separated list of the modes to filter by, faresOnly: any # True to only return stations in that have Fares data available for single fares to another station., maxResults: any # An optional result limit, defaulting to and with a maximum of 50. Since children of the stop point heirarchy are returned for matches,\r             it is possible that the flattened result set will contain more than 50 items., lines: any # An optional, parameter separated list of the lines to filter by, includeHubs: any # If true, returns results including HUBs., tflOperatedNationalRailStationsOnly: any # If the national-rail mode is included, this flag will filter the national rail stations so that only those operated by TfL are returned}\n@returns(200) OK\n\n@endpoint GET /StopPoint/Sms/{id}\n@desc Gets a StopPoint for a given sms code.\n@required {id: any # A 5-digit Countdown Bus Stop Code e.g. 73241, 50435, 56334.}\n@optional {output: any # If set to \"web\", a 302 redirect to relevant website bus stop page is returned. Valid values are : web. All other values are ignored.}\n@returns(200) OK\n\n@endpoint GET /StopPoint/{stopPointId}/TaxiRanks\n@desc Gets a list of taxi ranks corresponding to the given stop point id.\n@required {stopPointId: any # stopPointId is required to get the taxi ranks.}\n@returns(200) OK\n\n@endpoint GET /StopPoint/{stopPointId}/CarParks\n@desc Get car parks corresponding to the given stop point id.\n@required {stopPointId: any # stopPointId is required to get the car parks.}\n@returns(200) OK\n\n@endgroup\n\n@group TravelTimes\n@endpoint GET /TravelTimes/overlay/{z}/mapcenter/{mapCenterLat}/{mapCenterLon}/pinlocation/{pinLat}/{pinLon}/dimensions/{width}/{height}\n@desc Gets the TravelTime overlay.\n@required {z: any # The zoom level., pinLat: any # The latitude of the pin., pinLon: any # The longitude of the pin., mapCenterLat: any # The map center latitude., mapCenterLon: any # The map center longitude., scenarioTitle: any # The title of the scenario., timeOfDayId: any # The id for the time of day (AM/INTER/PM), modeId: any # The id of the mode., width: any # The width of the requested overlay., height: any # The height of the requested overlay., direction: any # The direction of travel., travelTimeInterval: any # The total minutes between the travel time bands}\n@returns(200) OK\n\n@endpoint GET /TravelTimes/compareOverlay/{z}/mapcenter/{mapCenterLat}/{mapCenterLon}/pinlocation/{pinLat}/{pinLon}/dimensions/{width}/{height}\n@desc Gets the TravelTime overlay.\n@required {z: any # The zoom level., pinLat: any # The latitude of the pin., pinLon: any # The longitude of the pin., mapCenterLat: any # The map center latitude., mapCenterLon: any # The map center longitude., scenarioTitle: any # The title of the scenario., timeOfDayId: any # The id for the time of day (AM/INTER/PM), modeId: any # The id of the mode., width: any # The width of the requested overlay., height: any # The height of the requested overlay., direction: any # The direction of travel., travelTimeInterval: any # The total minutes between the travel time bands, compareType: any, compareValue: any}\n@returns(200) OK\n\n@endgroup\n\n@group Vehicle\n@endpoint GET /Vehicle/{ids}/Arrivals\n@desc Gets the predictions for a given list of vehicle Id's.\n@required {ids: any # A comma-separated list of vehicle ids e.g. LX58CFV,LX11AZB,LX58CFE. Max approx. 25 ids.}\n@returns(200) OK\n\n@endgroup\n\n@end\n"}}