Install

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.

No reports yetRead-only, your login
Site
Deutsche Bahn, Germany
Version
v1
Runs, last 7 days
No reports yet
sha256
aaba5ce57000…

Requests

sent from your browser, in order
  1. 1GET/web/api/reisen/reisenPLACEHOLDER path.

Parameters

from your agent

None.

Returns

to your agent
tripsobject[]

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
}