ClubsOTA User Guide
Site: https://clubsota.app Program rules: /rules REST API reference: /api/docs
ClubsOTA is a club-centric awards and spotting layer that uses official Parks on the Air® (POTA) park references. It is an independent program and is not affiliated with Parks on the Air, Inc.
1. Register and log in
| Action | URL |
|---|---|
| Register | /register |
| Log in | /login |
| Log out | /logout |
| Dashboard | /dashboard |
Create an account
- Open /register.
- Enter your callsign (3–15 characters: letters, numbers, slash), email, and a password (minimum 8 characters).
- Confirm the password and submit.
Sign in
Use /login with your callsign + password. Social (OAuth) buttons only appear if an administrator has configured a provider; they are not enabled on clubsota.app today — register with a password.
After login you can open Dashboard, Upload, and API token settings from the site navigation.
2. Parks
| Action | URL |
|---|---|
| Browse parks | /parks |
| Park detail | /parks/{reference} (e.g. /parks/US-0001) |
Browse and search
On /parks you can:
- Search by reference, name, grid, or location text.
- Filter by location code (for example
US-PA). - Open matching parks on the map with Open on map.
Park cards and detail pages show official POTA catalog fields (name, location, grid, coordinates when available).
Park tips (field notes)
On a park page, signed-in users can submit short field tips. Tips are user-generated and go through moderation before they appear publicly. Tips never change official POTA reference, name, or coordinates.
Attribution
Every parks surface includes attribution: park references and park data come from Parks on the Air® (pota.app). ClubsOTA does not claim to be POTA or to issue official POTA awards.
3. Map (and location permission)
What you can do
- Pan/zoom an OpenStreetMap base map with Leaflet.
- Search by park name/reference or location code.
- Show parks and live activations layers.
- Use Near radius (25–400 km) and optionally Only show parks inside radius.
- Click a park for details, copy the reference, open the park page, or jump to spotting that park.
“Use my location”
- Click Use my location in the map sidebar (or allow auto-locate on first visit).
- Your browser asks for location permission.
- If you allow it, the map centers near you and can filter parks by radius.
- ClubsOTA stores a small consent cookie (
clubsota_geo=1or0) so it remembers whether to auto-locate next time.
| Browser response | What happens |
|---|---|
| Allowed | Map centers on you; cookie set to allow future auto-locate. |
| Denied | Status shows location is off; cookie remembers denial (clubsota_geo=0). Tap Use my location later to try again. |
| Unavailable / error | Status asks you to retry with Use my location. |
Location is used only in the browser to set near lat/lng for map queries. You can clear filters anytime.
4. Spots and self-spot
| Action | URL |
|---|---|
| Live spots | /spots |
| Post spot | POST /spots (form on the page) |
| Mark QRT | POST /spots/{id}/qrt |
| Respot | POST /spots/{id}/respot |
Live board
/spots shows active activator spots with live updates (Server-Sent Events). Filter by call, park, or mode. Spots expire after about 30 minutes unless respotted; QRT removes them from the active list.
Self-spot vs spotting someone else
When signed in, use Post a Spot:
- Leave Self-spot (I am the activator) checked to spot yourself (your callsign is used).
- Uncheck it to enter another Activator Callsign.
- Enter the official Park Reference (e.g.
US-0016orK-1234). - Enter frequency and mode.
- Optionally tag a club outing if you belong to a club.
- Submit.
Owners (and admins) can respot or mark QRT on their spots from the board.
Operators may ingest labeled external feed spots (e.g. RBN) into the same board; native ClubsOTA spots remain first-party web/API spots. DXSpider ingest is not enabled.
5. Schedule
| Action | URL |
|---|---|
| Upcoming activations | /schedule |
| Create schedule | /schedule/create |
| Cancel | POST /schedule/{id}/cancel |
Signed-in activators can publish advance notices (park, start time UTC, comments) so hunters can plan — similar in spirit to a SOTA alert. Cancel your own scheduled entry from the schedule UI when plans change.
6. ADIF upload and the 30-day edit window
| Action | URL |
|---|---|
| Upload page | /upload |
| Upload ADIF | POST /upload |
| Withdraw log | POST /upload/withdraw |
Who uploads
Activators upload ADIF. Hunters do not upload; they earn credit from activator logs automatically when their call appears in the log.
Required logging fields
Typical ADIF needs:
- Call
- QSO date/time (UTC)
- Band or frequency
- Mode
- Park reference in
MY_SIG_INFO(or choose the park on the upload form)
For park-to-park, also put the hunter’s park in SIG_INFO when applicable (see Park-to-Park).
Max file size on the web form is 5 MB.
Club logs
If you are a club member, you can select a club on upload so the club call / club awards path is used. Dual credit for the operator can apply when OPERATOR is set and differs from the club callsign (see /rules).
30-day rolling edit window
After a successful import:
- The upload is editable for 30 days (
mutable_until≈ upload time + 30 days UTC). - Within that window you may withdraw (removes derived QSOs/activations/credits; keeps the immutable ADIF archive) or replace with a new ADIF for that upload.
- After the window expires, the upload locks. You cannot withdraw or replace it without an administrator force-unlock.
Locked archives remain available for operator rebuilds; they are not deleted when you withdraw within the window.
API equivalents (with a token that has logs:write): GET/POST/DELETE /api/v1/logs, POST /api/v1/logs/{id}/replace — see /api/docs.
7. Clubs and joining
| Action | URL |
|---|---|
| Club directory | /clubs |
| Create club | /clubs/create |
| Club page | /clubs/{id} |
| Request join | POST /clubs/{id}/join |
Create a club
Register a real on-air club callsign and club name. New clubs typically need admin approval before they are fully active in the program.
Join a club
- Open the club page.
- Submit a join request.
- A club owner or officer approves or rejects the request.
Roles: owner, officer, member. Club activations use the club callsign; personal dual credit follows the rules page.
8. Park-to-Park (P2P)
| Action | URL |
|---|---|
| Your P2P credits | /p2p |
P2P credit is recorded when an activator log includes the hunter’s official POTA park in SIG_INFO, and it differs from the activator’s park (MY_SIG_INFO). View unique parks, pairs, and credit rows on /p2p. Related awards appear under /awards.
9. Awards and certificates
| Action | URL |
|---|---|
| Awards & progress | /awards |
| Certificate | /awards/certificate/{id} |
| Leaderboards | /leaderboards |
Awards are granted automatically as logs are processed (activator/hunter park tiers, QSO and location goals, club tracks, P2P where defined). On /awards you can see stats, progress toward next tiers, and earned awards.
Open a certificate link to view/print a certificate rendered from an admin-managed template. Leaderboards show activator, hunter, club, and band/mode standings.
10. API tokens (basics)
| Action | URL |
|---|---|
| Manage tokens (web) | /settings/api |
| API documentation | /api/docs |
- Sign in and open API in the nav (/settings/api).
- Create a token with the scopes you need (e.g. spots write, logs write, profile read).
- Copy the token when shown — store it securely; it may not be shown again in full.
- Call the API with
Authorization: Bearer <token>. - Revoke tokens you no longer use from the same page.
Common public endpoints (no token): health, spots list/stream, parks, schedule list, award definitions, leaderboards. Authenticated endpoints include /api/v1/me, create spots, import/list/withdraw/replace logs, schedules, and token management. Full tables live on /api/docs.
11. POTA attribution
Please keep this language in mind when talking about ClubsOTA:
> Park references and park data are provided by Parks on the Air® (pota.app). ClubsOTA is an independent club-focused awards program and is not affiliated with Parks on the Air, Inc.
Official park identity (reference, name, coordinates, location, active flag) comes from the POTA catalog sync. ClubsOTA adds club play, native spotting, schedules, awards/certificates, and moderated park tips on top of that shared vocabulary.
Quick route map
| Feature | Path |
|---|---|
| Home | / |
| Rules | /rules |
| This guide (on site) | /help |
| Parks | /parks, /parks/{reference} |
| Map | /map |
| Spots | /spots |
| Schedule | /schedule, /schedule/create |
| Clubs | /clubs, /clubs/create, /clubs/{id} |
| Upload | /upload |
| Awards | /awards, /awards/certificate/{id} |
| P2P | /p2p |
| Leaderboards | /leaderboards |
| Dashboard | /dashboard |
| API tokens | /settings/api |
| API docs | /api/docs |
| Register / Login | /register, /login |