GET /api/v1/live/{city}/transit/trips/{trip_id}
Live-ÖPNV-Fahrt-Detail inkl. geschätzter Position (GTFS-RT, Tier B)
Liefert das Fahrt-Detail (Verspätung, Halt-Updates) inklusive linear interpolierter Position (als estimated=true gekennzeichnet) aus dem GTFS-RT-Feed (Tier B) im Live-Envelope (refresh_seconds=45). Der Request-Pfad liest NUR aus Redis. Lässt sich die Fahrt nicht gegen das statische GTFS auflösen, trägt der Payload unresolved=true (ehrlich statt 500). Toggle aus -> disabled; kein Update -> no_data. Reine Live-Daten, nur im Redis-Cache gehalten (Tier B).
Parameter
| Name | In | Pflicht | Typ | Beispiel | Beschreibung |
|---|---|---|---|---|---|
city | path | ja | string | berlin | |
trip_id | path | ja | string | 300657118 | GTFS-RT-Fahrt-ID. Fluechtig: frische IDs liefert GET /api/v1/live/{city}/transit/departures im Feld trip_id. Eine abgelaufene ID ist kein Fehler, sondern 200 source_status="no_data". |
Code-Beispiele
curl "https://infranode.dev/api/v1/live/berlin/transit/trips/300657118"const res = await fetch("https://infranode.dev/api/v1/live/berlin/transit/trips/300657118");
const data = await res.json();
console.log(data);import httpx
res = httpx.get("https://infranode.dev/api/v1/live/berlin/transit/trips/300657118")
res.raise_for_status()
print(res.json()) Try it
Für diesen Endpunkt steht keine Live-Konsole bereit. Er ist eine Betriebs- oder Demo-Operation (z.B. erzwungener Fehler) und wird hier nur dokumentiert. Nutze die Code-Beispiele oben für einen direkten Aufruf.