Private tournaments & join requests
Token-gated events and join request approval.
Not every tournament should be open to the public. FishTourney gives organizers two ways to control who can register: token-only access (unlisted) for tight-knit groups, and a join-request approval flow for events where you want visibility but not open doors.
Token-only access (unlisted)
When you set a tournament's visibility to Unlisted, it does not appear on the browse page and cannot be found by searching. The only way to reach the tournament is through the share link, which includes a unique token in the URL.
From the tournament admin panel, click Share Link to generate the private link. You can copy it and distribute it through whatever channel you use — a club Slack, a group chat, an email list, or a post in a private Facebook group. Anyone who receives the link and has a FishTourney account can view the tournament. They can also register (and pay the entry fee if applicable) using the normal self-registration flow.
If you need to revoke access — for example, if the link was shared too broadly — click Regenerate to create a new token. The old link stops working immediately. You can also click Revoke to remove the share link entirely, making the tournament unreachable until you generate a new one.
Join requests (private)
When you set a tournament's visibility to Private, the tournament appears on the browse page and in search results, but registration is gated by your approval. Anglers who find the tournament page see a Request to Joinbutton instead of a Register button.
When an angler submits a join request, you see a notification on the tournament management page. Open the Join Requestsmodal to review pending requests. Each request shows the angler's name, the date and time they requested, and any message they included. You can Approve or Declineeach request individually.
Approving a request immediately registers the angler. If the tournament has an entry fee, the angler is notified and must complete payment to confirm their spot — approval alone does not charge them. Declining a request removes it from the queue with no further action required.

Choosing between the two patterns
Use Unlisted with a share link when the group of invited participants is already defined and you do not want unsolicited requests. The share-link model is low friction — no approvals needed — and works well when you trust everyone on your distribution list.
Use Private with join requests when you want the tournament to be discoverable but you want to vet each participant before they get in. This is useful for club tournaments that are nominally open to members but where the organizer wants to confirm eligibility, collect payment details separately, or simply keep the roster under control.
