List the user's upcoming Deutsche Bahn trips and tickets.
UNTESTED, needs login: lists the trips booked in the user's bahn.de customer account (date, route, trains, ticket type, booking number). Skeleton only: bahn.de is paused for automated checks, so no endpoint was probed; every path here is a placeholder to replace from a recording.
- Site
- Deutsche Bahn, Germany
- Version
- v1
- Runs, last 7 days
- No reports yet
- sha256
- aaba5ce57000…
Requests
sent from your browser, in order- 1GET/web/api/reisen/reisenPLACEHOLDER path.
Parameters
from your agentNone.
Returns
to your agenttripsobject[]
Where it can send
- www.bahn.de
Anything else is blocked by the extension.
Reads from your session
Nothing. Your browser attaches the site's cookies by itself.
Used only in requests to the addresses on the left. Never sent to wield.run or your agent.
Checks
a run passes when- output.trips != `null`
Raw recipe
Served as canonical JSON from /api/v1/recipes/bahn.de/my-bookings, so its sha256 matches the ETag and the index.
Check it yourself
curl -s https://wield.run/api/v1/recipes/bahn.de/my-bookings | shasum -a 256 # aaba5ce5700015693d9f642e9c3b632ef020ebe711918f7897b6f199f46eb20c
bahn.de/my-bookings.json, v1
{ "description": "UNTESTED, needs login: lists the trips booked in the user's bahn.de customer account (date, route, trains, ticket type, booking number). Skeleton only: bahn.de is paused for automated checks, so no endpoint was probed; every path here is a placeholder to replace from a recording.", "effect": "read", "id": "bahn.de/my-bookings", "keywords": [ "bahn", "meine reisen", "buchung", "ticket", "fahrkarte", "auftragsnummer", "my trips", "my bookings", "train ticket" ], "login_check": { "description": "PLACEHOLDER path; replace with the cheapest logged-in-only call from the recording.", "expect": { "login_required_if": { "status": [ 401, 403 ] }, "status": [ 200 ] }, "id": "login_check", "request": { "headers": { "Accept": "application/json" }, "method": "GET", "url": "/web/api/kundenkonto/kunde" } }, "output": { "schema": { "properties": { "trips": { "items": { "type": "object" }, "type": "array" } }, "required": [ "trips" ], "type": "object" }, "value": "{trips: steps.trips.items}" }, "params": { "additionalProperties": false, "properties": {}, "type": "object" }, "provenance": { "method": "manual", "notes": "UNTESTED SKELETON. Not probed: bahn.de is paused (Akamai flagged Victor's session after today's automated volume; wait for C2). Paths and fields are placeholders. Record 'Meine Reisen' logged in with tools/har2recipe once C2 clears bahn.de.", "recorded_at": "2026-11-07T12:41:00+01:00", "recorded_by": "C4" }, "requires_login": true, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "DE", "id": "bahn.de", "language": "de", "login_url": "https://www.bahn.de/buchung/login", "name": "Deutsche Bahn", "origin": "https://www.bahn.de", "origins": [ "https://www.bahn.de" ] }, "steps": [ { "description": "PLACEHOLDER path.", "expect": { "content_type": "json", "login_required_if": { "status": [ 401, 403 ] }, "status": [ 200 ] }, "extract": { "json": { "items": "(reisen || trips || @)[].{booking_number: auftragsnummer || orderNumber || `null`, departure: abfahrt.zeit || abfahrtsZeitpunkt || `null`, from: abfahrtsOrt || start.name || `null`, to: ankunftsOrt || ziel.name || `null`, trains: verbindungsAbschnitte[].verkehrsmittel.mittelText || `[]`, ticket: angebot.name || tarif || `null`}" } }, "id": "trips", "request": { "headers": { "Accept": "application/json" }, "method": "GET", "url": "/web/api/reisen/reisen" } } ], "task": "List the user's upcoming Deutsche Bahn trips and tickets", "tos": { "notes": "Reads the user's own bookings from their own session, on request. Never books or cancels.", "reviewed": false }, "verify": { "checks": [ "output.trips != `null`" ], "example_params": {} }, "version": 1 }