A league admin can see every team and coach in their league. There is no
self-service path to this — create_league() only ever makes
you admin of a league you just created, so the seeded leagues have
nobody, and a board cannot add its own members. This is the only way.
A league can hold a whole board. Every title has identical
permissions — the title is a label so you can see who is who
when the board turns over, not a role.
Leagues
Loading…
Move a team between accounts
For when a coach built a season on the wrong account — they signed in
with a second email address and did not notice. Email sign-in cannot
detect that, because the address is the identity.
The old account stays on the team as an assistant by default, so the
coach can still reach it from either address. Every move is written to
the team's changelog with both addresses.
Coaches
Loading…
Look up a coach
When somebody says they paid and has no access, this is where you look.
No payments recorded means the webhook never landed — check Stripe for a
failed delivery; the event id there is the idempotency key.
Every payment
Loading…
Create an access code
Only the hash is stored, so a code cannot be read back — write it down
when you create it.
Codes
Loading…
Redemptions
Loading…
Bug reports
Written by the Report a Bug button in the app. Until this page existed
nothing ever read them.
Loading…
Enquiries from the website
The form at the bottom of diamondcoach.app. Like bug reports, these have
been collected since launch and never shown to anyone.