Skip to content

/api/state: league coverage, and distinguishing a prepared match sheet from a running tie #48

Description

@Assembler23

Hi Philipp,

we mirror your aggregate at b.aufschlagwechsel.de/api/state on badhub.de (a results service for German badminton league play, currently ten state associations). Thanks for making it public — it has been running smoothly for us since June. Three things, one of which is a small report rather than a request.

1. Which leagues does the aggregate cover?

A snapshot today (2026-09-19) returned 19 ties across five league_key values:

league_key league_name ties
1BL-2020 1. Bundesliga 1
2BLN-2020 2. Bundesliga Nord 6
2BLS-2020 2. Bundesliga Süd 6
RLW-2016 Regionalliga West (001) 3
RLM-2016 Regionalliga Mitte 3

Is that the full set of keys, or just what happened to be tracked at that moment? And is coverage of these four realistic — BE/BB Regionalliga Nord, BBV/BVS/BWBV Regionalliga SüdOst, BVR Rheinland-Pfalz-Liga, Saarlandliga? We understand a tie can only show up if the clubs involved actually run bup, so this may simply be a question of adoption rather than anything you can change.

2. A tie appears as "prepared" days before it is played

Ties show up carrying a full matches array (7 entries, HD1…HE2) with score: [] and no players, apparently as soon as a club sets up its bup instance. A week before the season opener we had six such ties in the aggregate, and our side displayed them as live. That was our bug and it is fixed — we now require at least one set score or a non-zero mscore — but you might want to know that the skeleton is externally indistinguishable from "about to start". If there is a cheap flag for "this tie is actually running", it would spare every consumer from guessing.

3. Wish list, in the order it would help us

  • current point score within the running set (the aggregate only exposes completed sets today)
  • current server / receiver
  • court number and, if available, the scheduled start time of the tie
  • a stable tie ID (we currently derive a key from league_key plus both team names)
  • ETag / Last-Modified, so we can poll conditionally

Our polling is one request per minute from a single host, BadhubBundesligaBot/1.0 (+https://badhub.de). Say the word if that is too frequent or you would prefer a different pattern.

Thanks either way!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions