Plan transit routes between origin and destination
Calculate optimal public transport routes with real-time data integration
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
origin | string | ✓ | Origin coordinates in 'lat,lon' format | 51.537511,-0.152208 |
destination | string | ✓ | Destination coordinates in 'lat,lon' format | 51.531921,-0.082569 |
arrivalTime | string | ISO 8601 arrival time. Z for UTC, an offset like +01:00 (encode + as %2B), or no zone for origin-local time. See Time format below. Send arrivalTime or departureTime, not both. departureTime wins if both are present. | 2025-09-18T09:30:00Z | |
departureTime | string | ISO 8601 departure time. Z for UTC, an offset like +01:00 (encode + as %2B), or no zone for origin-local time. See Time format below. Send departureTime or arrivalTime, not both. departureTime wins if both are present.Default: current time (UTC) | 2025-09-18T09:00:00Z | |
transfers | integer | Maximum number of transfers (range 0-6) | 2 | |
geometry | string | Geometry return format Values: polyline, flexible-polyline Default: polyline | polyline | |
transport | string | Return routes using only specified transport types, comma-separated Available: bus, subway, train, tram | bus,subway,train,tram | |
maxRoutes | integer | Search effort (range 1-6). Higher values explore more alternatives. The actual number of routes returned is determined by available connections and is unrelated to this number | 3 | |
lang | string | Language code for translated stop/route names (IETF BCP 47 format, e.g. en, ru, es, zh-CN). If no translation is available, the original name is returned | en |
Time format
Time parameters use ISO 8601. The zone designator at the end of the value determines its interpretation.
| Form | Example | Meaning |
|---|---|---|
| No zone | 2025-09-18T10:00:00 | Local time at the queried location: the origin for /routes, the stop or location for /nextDepartures. The caller does not need the location's UTC offset. |
| UTC | 2025-09-18T14:00:00Z | A fixed instant. The Z suffix marks UTC. |
| Explicit offset | 2025-09-18T10:00:00-04:00 | A fixed instant. Encode + as %2B in the query string. |
- The UTC and offset forms denote the same instant regardless of caller location; only the no-zone form is location-relative.
09:00:00Zand10:00:00+01:00are equivalent. - If omitted, the current time is used.
- Seconds are rounded up to the next minute.
- Departure and arrival times in the response use the region's local time. The
localDateandlocalTimefields report the request time in that zone.
Real-time vs scheduled times
Times come in two flavours: the schedule (always present) and the real-time/live value (present only when the operator feeds live data). When a real-time value is present it is the actual expected time - use it instead of the scheduled one. The field names differ per endpoint:
| Endpoint | Scheduled field | Real-time field (live only) |
|---|---|---|
/nextDepartures | departureTime (HH:MM:SS) + date | rtDepartureTime (HH:MM:SS) + rtDate |
/routes | section departure.time / arrival.time (full ISO 8601) | section departure.rtDeparture / arrival.rtArrival (full ISO 8601); same on intermediateStops[] |
- Real-time fields are absent when no live data exists - then only the schedule is known. Always check for the
rt*field and fall back to the scheduled one. - Delay = real-time minus scheduled (positive = running late). A live/delay badge is the typical UI.
- Service disruptions come as a top-level
alerts[]array (header, description, cause, effect, validFrom/validUntil, and the affected route/stop viainformedEntity/sectionIds).
Try It Out
https://capi.busmaps.com:8443Required parameters only
curl -H "capi-key: Bearer YOUR_API_KEY" -H "capi-host: busmaps.com" "https://capi.busmaps.com:8443/routes?origin=51.537511,-0.152208&destination=51.531921,-0.082569"Popular parameters
curl -H "capi-key: Bearer YOUR_API_KEY" -H "capi-host: busmaps.com" "https://capi.busmaps.com:8443/routes?origin=51.537511,-0.152208&destination=51.531921,-0.082569&arrivalTime=2025-09-18T09:30:00Z&transfers=2&geometry=polyline&transport=bus,subway,train,tram&maxRoutes=3&lang=en"Response Example
HTTP 200 - Success
{
"routes": [
{
"id": "C0",
"duration": 1320,
"transfers": 0,
"sections": [
{
"id": "C0-S0",
"type": "pedestrian",
"travelSummary": {
"duration": 480,
"length": 474
},
"departure": {
"time": "2026-06-05T11:23:00+01:00",
"place": {
"name": "",
"type": "place",
"location": {
"lat": 51.5074,
"lng": -0.1278
},
"id": ""
}
},
"arrival": {
"time": "2026-06-05T11:31:00+01:00",
"place": {
"name": "Embankment Underground Station",
"urlStopName": "Embankment-Underground-Station",
"type": "station",
"location": {
"lat": 51.507059,
"lng": -0.122291
},
"id": "2944051126489606616",
"countryIso": "GBR",
"countryUrl": "uk"
}
},
"polyline": "m`kyHx}WGoAGIBEBC@ABA?_@FQJk@HQ@MD]V_CNoAHq@@I@KDe@f@gFJ]Fm@B@B@@QBKD@BQc@MMEwAcADIRg@Ha@",
"transport": {
"mode": "pedestrian"
}
},
{
"id": "C0-S1",
"type": "transit",
"travelSummary": {
"duration": 300,
"length": 2117
},
"departure": {
"time": "2026-06-05T11:31:00+01:00",
"platformCode": "2",
"rtDeparture": "2026-06-05T11:31:00+01:00",
"place": {
"name": "Embankment Underground Station",
"urlStopName": "Embankment-Underground-Station",
"type": "station",
"location": {
"lat": 51.507059,
"lng": -0.122291
},
"id": "2944051126489606616",
"countryIso": "GBR",
"countryUrl": "uk"
}
},
"arrival": {
"time": "2026-06-05T11:36:00+01:00",
"platformCode": "3",
"rtArrival": "2026-06-05T11:36:00+01:00",
"place": {
"name": "Mansion House Underground Station",
"urlStopName": "Mansion-House-Underground-Station",
"type": "station",
"location": {
"lat": 51.511705,
"lng": -0.094776
},
"id": "16815287826471945869",
"countryIso": "GBR",
"countryUrl": "uk"
}
},
"polyline": "c~jyHj{VoE}AkFoKmCaGmDsV??k@oJQ_QGsKAcPoAwKuAaEr@yg@MmCAq@",
"transport": {
"mode": "subway",
"id": "1148712030-2808230924",
"countryIso": "GBR",
"countryUrl": "uk",
"headsign": "Tower Hill Underground Station",
"shortName": "District",
"urlRouteShortName": "District",
"longName": "Ealing Broadway/Richmond/Wimbledon - Earl's Court - Upminster/Edgware Road",
"color": "#007A33",
"textColor": "#FFFFFF",
"name": "District"
},
"intermediateStops": [
{
"departure": {
"time": "2026-06-05T11:33:00+01:00",
"place": {
"name": "Temple Underground Station",
"urlStopName": "Temple-Underground-Station",
"type": "station",
"location": {
"lat": 51.510859,
"lng": -0.114756
},
"id": "2453052915675249070",
"countryIso": "GBR",
"countryUrl": "uk"
}
}
},
{
"departure": {
"time": "2026-06-05T11:34:00+01:00",
"place": {
"name": "Blackfriars Underground Station",
"urlStopName": "Blackfriars-Underground-Station",
"type": "station",
"location": {
"lat": 51.511618,
"lng": -0.103239
},
"id": "6286148251023766201",
"countryIso": "GBR",
"countryUrl": "uk"
}
}
}
],
"agency": {
"id": "2264224218-1585141307",
"countryIso": "GBR",
"countryUrl": "uk",
"name": "London Underground (TfL)",
"urlAgencyName": "London-Underground-TfL",
"website": "https://www.traveline.info",
"phone": "03432221234"
}
},
{
"id": "C0-S2",
"type": "pedestrian",
"travelSummary": {
"duration": 540,
"length": 549
},
"departure": {
"time": "2026-06-05T11:36:00+01:00",
"place": {
"name": "Mansion House Underground Station",
"urlStopName": "Mansion-House-Underground-Station",
"type": "station",
"location": {
"lat": 51.511705,
"lng": -0.094776
},
"id": "16815287826471945869",
"countryIso": "GBR",
"countryUrl": "uk"
}
},
"arrival": {
"time": "2026-06-05T11:45:00+01:00",
"place": {
"name": "",
"type": "place",
"location": {
"lat": 51.5155,
"lng": -0.0922
},
"id": ""
}
},
"polyline": "c{kyH`oQo@KA?A@W\\AIAGAMMaAKy@Ga@AQ?GE?AKISCSASE@A?CSA@E@IBCYOgACSAECGGGMMaAMIAcBSGAED@OK?O?G?MAUCg@GGAIAKAw@I[EC?GAA?EASAIAAAa@EMC?^AD",
"transport": {
"mode": "pedestrian"
}
}
],
"walkingDistance": 1023,
"walkingDuration": 1020,
"walkingCalories": 62.7,
"co2EmissionKg": 0.08,
"co2SavedComparedToCarKg": 0.4
},
{
"id": "C1",
"duration": 1260,
"transfers": 0,
"sections": [
{
"id": "C1-S0",
"type": "pedestrian",
"travelSummary": {
"duration": 480,
"length": 474
},
"departure": {
"time": "2026-06-05T11:26:00+01:00",
"place": {
"name": "",
"type": "place",
"location": {
"lat": 51.5074,
"lng": -0.1278
},
"id": ""
}
},
"arrival": {
"time": "2026-06-05T11:34:00+01:00",
"place": {
"name": "Embankment Underground Station",
"urlStopName": "Embankment-Underground-Station",
"type": "station",
"location": {
"lat": 51.507059,
"lng": -0.122291
},
"id": "2944051126489606616",
"countryIso": "GBR",
"countryUrl": "uk"
}
},
"polyline": "m`kyHx}WGoAGIBEBC@ABA?_@FQJk@HQ@MD]V_CNoAHq@@I@KDe@f@gFJ]Fm@B@B@@QBKD@BQc@MMEwAcADIRg@Ha@",
"transport": {
"mode": "pedestrian"
}
},
{
"id": "C1-S1",
"type": "transit",
"travelSummary": {
"duration": 240,
"length": 2117
},
"departure": {
"time": "2026-06-05T11:34:00+01:00",
"platformCode": "2",
"rtDeparture": "2026-06-05T11:34:00+01:00",
"place": {
"name": "Embankment Underground Station",
"urlStopName": "Embankment-Underground-Station",
"type": "station",
"location": {
"lat": 51.507059,
"lng": -0.122291
},
"id": "2944051126489606616",
"countryIso": "GBR",
"countryUrl": "uk"
}
},
"arrival": {
"time": "2026-06-05T11:38:00+01:00",
"platformCode": "3",
"rtArrival": "2026-06-05T11:38:00+01:00",
"place": {
"name": "Mansion House Underground Station",
"urlStopName": "Mansion-House-Underground-Station",
"type": "station",
"location": {
"lat": 51.511705,
"lng": -0.094776
},
"id": "16815287826471945869",
"countryIso": "GBR",
"countryUrl": "uk"
}
},
"polyline": "c~jyHj{VoE}AkFoKmCaGmDsV??k@oJQ_QGsKAcPoAwKuAaEr@yg@MmCAq@",
"transport": {
"mode": "subway",
"id": "1148712030-2808230924",
"countryIso": "GBR",
"countryUrl": "uk",
"headsign": "Upminster Underground Station",
"shortName": "District",
"urlRouteShortName": "District",
"longName": "Ealing Broadway/Richmond/Wimbledon - Earl's Court - Upminster/Edgware Road",
"color": "#007A33",
"textColor": "#FFFFFF",
"name": "District"
},
"intermediateStops": [
{
"departure": {
"time": "2026-06-05T11:35:00+01:00",
"place": {
"name": "Temple Underground Station",
"urlStopName": "Temple-Underground-Station",
"type": "station",
"location": {
"lat": 51.510859,
"lng": -0.114756
},
"id": "2453052915675249070",
"countryIso": "GBR",
"countryUrl": "uk"
}
}
},
{
"departure": {
"time": "2026-06-05T11:37:00+01:00",
"place": {
"name": "Blackfriars Underground Station",
"urlStopName": "Blackfriars-Underground-Station",
"type": "station",
"location": {
"lat": 51.511618,
"lng": -0.103239
},
"id": "6286148251023766201",
"countryIso": "GBR",
"countryUrl": "uk"
}
}
}
],
"agency": {
"id": "2264224218-1585141307",
"countryIso": "GBR",
"countryUrl": "uk",
"name": "London Underground (TfL)",
"urlAgencyName": "London-Underground-TfL",
"website": "https://www.traveline.info",
"phone": "03432221234"
}
},
{
"id": "C1-S2",
"type": "pedestrian",
"travelSummary": {
"duration": 540,
"length": 549
},
"departure": {
"time": "2026-06-05T11:38:00+01:00",
"place": {
"name": "Mansion House Underground Station",
"urlStopName": "Mansion-House-Underground-Station",
"type": "station",
"location": {
"lat": 51.511705,
"lng": -0.094776
},
"id": "16815287826471945869",
"countryIso": "GBR",
"countryUrl": "uk"
}
},
"arrival": {
"time": "2026-06-05T11:47:00+01:00",
"place": {
"name": "",
"type": "place",
"location": {
"lat": 51.5155,
"lng": -0.0922
},
"id": ""
}
},
"polyline": "c{kyH`oQo@KA?A@W\\AIAGAMMaAKy@Ga@AQ?GE?AKISCSASE@A?CSA@E@IBCYOgACSAECGGGMMaAMIAcBSGAED@OK?O?G?MAUCg@GGAIAKAw@I[EC?GAA?EASAIAAAa@EMC?^AD",
"transport": {
"mode": "pedestrian"
}
}
],
"walkingDistance": 1023,
"walkingDuration": 1020,
"walkingCalories": 62.7,
"co2EmissionKg": 0.08,
"co2SavedComparedToCarKg": 0.4
}
],
"alerts": [
{
"id": "dd1e4d9bb7ef",
"origin": "API",
"cause": "TECHNICAL_PROBLEM",
"effect": "NO_SERVICE",
"header": "Bakerloo Line",
"description": "No service between Queen's Park and Harrow & Wealdstone while we fix a signal failure at Willesden Junction. Tickets are being accepted on London Buses, the Lioness line and London Northwestern Railway. GOOD SERVICE on the rest of the line.",
"url": "https://tfl.gov.uk/tube-dlr-overground/status/",
"validFrom": "",
"validUntil": "",
"operator": "2264224218-1585141307",
"countryIso": "GBR",
"countryUrl": "uk",
"sectionIds": "C2-S1",
"informedEntity": [
{
"routeId": "2521614975-583762869"
}
]
}
],
"regionName": "uk_ireland",
"imperial": true,
"processingTimeMs": 341.47
}Response Schema
Title: Routes Response View Full JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Routes Response",
"type": "object",
"properties": {
"imperial": {
"type": "boolean",
"description": "True when distances are meant to be shown in imperial units (US/UK)"
},
"regionName": {
"type": "string",
"description": "Transit data region that served the request"
},
"alerts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identifier"
},
"origin": {
"type": "string",
"description": "Source/origin of the alert"
},
"cause": {
"type": "string",
"description": "GTFS-RT alert cause"
},
"effect": {
"type": "string",
"description": "GTFS-RT alert effect"
},
"header": {
"type": "string",
"description": "Short alert headline"
},
"description": {
"type": "string",
"description": "Full alert text"
},
"url": {
"type": "string",
"description": "Link with more information"
},
"validFrom": {
"type": "string",
"description": "Alert start time (ISO 8601)"
},
"validUntil": {
"type": "string",
"description": "Alert end time (ISO 8601)"
},
"operator": {
"type": "string",
"description": "Operator name"
},
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"sectionIds": {
"type": "string",
"description": "Route section ids the alert applies to"
},
"informedEntity": {
"type": "array",
"items": {
"type": "object",
"properties": {
"routeId": {
"type": "string",
"description": "Internal route identifier"
}
},
"required": [
"routeId"
]
},
"description": "Entities (route/stop) the alert applies to"
}
},
"required": [
"id",
"origin",
"cause",
"effect",
"header",
"description",
"url",
"operator",
"countryIso",
"countryUrl",
"sectionIds",
"informedEntity"
]
},
"description": "Service alerts/disruptions affecting the result"
},
"routes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identifier"
},
"duration": {
"type": "integer",
"description": "Duration in seconds"
},
"co2EmissionKg": {
"type": "number",
"description": "CO2 emissions in kg for this route"
},
"walkingDistance": {
"type": "integer",
"description": "Total walking distance in meters"
},
"co2SavedComparedToCarKg": {
"type": "number",
"description": "CO2 saved compared to driving in kg"
},
"walkingDuration": {
"type": "integer",
"description": "Total walking time in seconds"
},
"walkingCalories": {
"type": "number",
"description": "Estimated calories burned walking"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identifier"
},
"type": {
"type": "string",
"description": "Type discriminator for the object"
},
"arrival": {
"type": "object",
"properties": {
"rtArrival": {
"type": "string",
"description": "Real-time arrival info"
},
"time": {
"type": "string",
"description": "Timestamp in ISO 8601 (region-local with offset)"
},
"platformCode": {
"type": "string",
"description": "Platform or stand code"
},
"place": {
"type": "object",
"properties": {
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"id": {
"type": "string",
"description": "Identifier"
},
"type": {
"type": "string",
"description": "Type discriminator for the object"
},
"urlStopName": {
"type": [
"null",
"string"
],
"description": "URL-safe slug of the stop name"
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"location": {
"type": "object",
"properties": {
"lng": {
"type": "number",
"description": "Longitude in decimal degrees"
},
"lat": {
"type": "number",
"description": "Latitude in decimal degrees"
}
},
"required": [
"lng",
"lat"
],
"description": "Coordinate pair of the point"
},
"name": {
"type": "string",
"description": "Display name"
},
"description": {
"type": "string",
"description": "Full alert text"
},
"stopCode": {
"type": "string",
"description": "Public stop code shown to passengers"
},
"wheelchairBoarding": {
"type": "integer",
"description": "Wheelchair accessibility flag (GTFS: 0 unknown, 1 yes, 2 no)"
}
},
"required": [
"type",
"location"
],
"description": "Endpoint place of the section (origin/destination of a leg)"
}
},
"required": [
"place",
"time"
],
"description": "Arrival end of the section"
},
"agency": {
"type": "object",
"properties": {
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"id": {
"type": "string",
"description": "Identifier"
},
"urlAgencyName": {
"type": [
"null",
"string"
],
"description": "URL-safe slug of the agency name"
},
"phone": {
"type": [
"null",
"string"
],
"description": "Contact phone"
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"website": {
"type": "string",
"description": "Website URL"
},
"name": {
"type": "string",
"description": "Display name"
}
},
"required": [
"countryIso",
"id",
"urlAgencyName",
"phone",
"countryUrl",
"website",
"name"
],
"description": "Operating agency of the leg"
},
"travelSummary": {
"type": "object",
"properties": {
"duration": {
"type": "integer",
"description": "Duration in seconds"
},
"length": {
"type": "integer",
"description": "Length in meters"
}
},
"required": [
"duration",
"length"
],
"description": "Distance and duration summary of the section"
},
"transport": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"description": "Travel mode of the section (pedestrian, transit, ...)"
},
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"id": {
"type": "string",
"description": "Identifier"
},
"textColor": {
"type": "string",
"description": "Text color as a hex string"
},
"urlRouteShortName": {
"type": [
"null",
"string"
],
"description": "URL-safe slug of the route short name"
},
"headsign": {
"type": "string",
"description": "Destination shown on the vehicle"
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"shortName": {
"type": "string",
"description": "Short name"
},
"name": {
"type": "string",
"description": "Display name"
},
"color": {
"type": "string",
"description": "Color as a hex string"
},
"longName": {
"type": "string",
"description": "Long name"
},
"routeDesc": {
"type": "string",
"description": "Additional route description"
},
"urlRouteLongName": {
"type": [
"string",
"null"
],
"description": "URL-safe slug of the route long name"
}
},
"required": [
"mode"
],
"description": "Transport details of the section (mode, route, agency)"
},
"departure": {
"type": "object",
"properties": {
"rtDeparture": {
"type": "string",
"description": "Real-time departure info"
},
"time": {
"type": "string",
"description": "Timestamp in ISO 8601 (region-local with offset)"
},
"platformCode": {
"type": "string",
"description": "Platform or stand code"
},
"place": {
"type": "object",
"properties": {
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"id": {
"type": "string",
"description": "Identifier"
},
"type": {
"type": "string",
"description": "Type discriminator for the object"
},
"urlStopName": {
"type": [
"null",
"string"
],
"description": "URL-safe slug of the stop name"
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"location": {
"type": "object",
"properties": {
"lng": {
"type": "number",
"description": "Longitude in decimal degrees"
},
"lat": {
"type": "number",
"description": "Latitude in decimal degrees"
}
},
"required": [
"lng",
"lat"
],
"description": "Coordinate pair of the point"
},
"name": {
"type": "string",
"description": "Display name"
},
"description": {
"type": "string",
"description": "Full alert text"
},
"stopCode": {
"type": "string",
"description": "Public stop code shown to passengers"
},
"wheelchairBoarding": {
"type": "integer",
"description": "Wheelchair accessibility flag (GTFS: 0 unknown, 1 yes, 2 no)"
}
},
"required": [
"type",
"location"
],
"description": "Endpoint place of the section (origin/destination of a leg)"
}
},
"required": [
"place",
"time"
],
"description": "Departure end of the section"
},
"intermediateStops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"departure": {
"type": "object",
"properties": {
"place": {
"type": "object",
"properties": {
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"id": {
"type": "string",
"description": "Identifier"
},
"type": {
"type": "string",
"description": "Type discriminator for the object"
},
"urlStopName": {
"type": [
"null",
"string"
],
"description": "URL-safe slug of the stop name"
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"location": {
"type": "object",
"properties": {
"lng": {
"type": "number",
"description": "Longitude in decimal degrees"
},
"lat": {
"type": "number",
"description": "Latitude in decimal degrees"
}
},
"required": [
"lng",
"lat"
],
"description": "Coordinate pair of the point"
},
"name": {
"type": "string",
"description": "Display name"
},
"description": {
"type": "string",
"description": "Full alert text"
}
},
"required": [
"countryIso",
"id",
"type",
"name",
"countryUrl",
"location",
"urlStopName"
],
"description": "Endpoint place of the section (origin/destination of a leg)"
},
"time": {
"type": "string",
"description": "Timestamp in ISO 8601 (region-local with offset)"
}
},
"required": [
"place",
"time"
],
"description": "Departure end of the section"
}
},
"required": [
"departure"
]
},
"description": "Stops passed through between boarding and alighting"
},
"polyline": {
"type": "string",
"description": "Encoded geometry of the section"
}
},
"required": [
"id",
"type",
"arrival",
"travelSummary",
"transport",
"departure",
"polyline"
]
},
"description": "Ordered legs that make up the route"
},
"transfers": {
"type": "integer",
"description": "Number of transfers required"
}
},
"required": [
"id",
"duration",
"co2EmissionKg",
"walkingDistance",
"co2SavedComparedToCarKg",
"walkingDuration",
"walkingCalories",
"sections",
"transfers"
]
},
"description": "Calculated routes"
},
"notices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Human-readable title of the notice/alert"
},
"code": {
"type": "string",
"description": "Status code for the response"
}
},
"required": [
"title",
"code"
]
},
"description": "Informational notices (e.g. noRouteFound, noCoverage)"
},
"processingTimeMs": {
"type": "number",
"description": "Server processing time in milliseconds"
}
},
"required": [
"regionName",
"processingTimeMs",
"routes"
]
}
Response Codes
Routes calculated successfully (or noCoverage notice if region not supported)
Invalid parameters or coordinates
Internal server error