DeuceLeague API (Cloudflare migration preview)

Version 0.1.0 ยท a concise map of every HTTP operation, generated from the route definitions.

76operations
51paths
15feature areas

All /v1 operations require a bearer credential. /healthz and /openapi.json are public.

Feature areas

Meta (1) Me (4) Player logins (4) Matches (7) Club (2) Weather (6) API keys (3) Members (12) Join requests (5) Seasons (4) Competitions (4) Divisions (6) Entries (12) Standings and progress (5) Events (1)

Meta

GET/healthzIs the server up, and can it reach its database?

Me

GET/v1/meWho am I?
GET/v1/me/placementsYour placements in started competitions
GET/v1/me/contactsWho you play with and against, and how to reach them
GET/v1/me/match-plansYour match planning board

Player logins

POST/v1/members/{id}/login-linkMake a login link for a member
POST/v1/sessionExchange a login link for a session
DELETE/v1/sessionSign out
POST/v1/members/{id}/sign-outSign a member out everywhere

Matches

GET/v1/matchesList matches
GET/v1/matches/{id}A match, with submissions visible to the caller
POST/v1/matches/{id}/claimsReport a result for one side, or correct that side's report
POST/v1/matches/{id}/settlement-previewReview a coach decision before saving it
POST/v1/matches/{id}/settleSettle a match as the coach
PUT/v1/matches/{id}/planPlan one of your matches
GET/v1/dispute-historyWho has been in disputes, and how each ended

Club

GET/v1/clubThe club
PATCH/v1/clubChange the club's name, time zone or branding

Weather

GET/v1/weatherForecast configuration
PATCH/v1/weatherChange forecast units
GET/v1/court-locationsCourt locations
POST/v1/court-locationsAdd a court location
PATCH/v1/court-locations/{id}Change a court location
DELETE/v1/court-locations/{id}Remove a court location

API keys

GET/v1/api-keysList the club's API keys
POST/v1/api-keysMake an API key
POST/v1/api-keys/{id}/revokeRevoke an API key

Members

GET/v1/membersList members
POST/v1/membersAdd a member
GET/v1/members/{id}A member
PATCH/v1/members/{id}Change a member
DELETE/v1/members/{id}Remove a member
POST/v1/members/{id}/invitationRecord a sign-in invitation outcome
PUT/v1/members/{id}/wants-to-playSay what a member wants to play next season
POST/v1/members/{id}/leaveSay this member is not playing next season at all
DELETE/v1/members/{id}/leaveTake back not playing next season at all
POST/v1/members/{id}/pauseTake a break from the league until they say they are back
DELETE/v1/members/{id}/pauseSay they are back from a break
POST/v1/members/{id}/eraseErase a member's personal data

Join requests

GET/v1/join-requestsList join requests
POST/v1/join-requestsAsk to join
GET/v1/join-requests/{id}A join request
DELETE/v1/join-requests/{id}Decline a join request
POST/v1/join-requests/{id}/approveApprove a join request

Seasons

GET/v1/seasonsList seasons
POST/v1/seasonsStart planning a season
GET/v1/seasons/{id}A season
PATCH/v1/seasons/{id}Change a season, or move it to another state

Competitions

GET/v1/competitionsList competitions
POST/v1/competitionsCreate a competition
GET/v1/competitions/{id}A competition
PATCH/v1/competitions/{id}Change a competition, or move it to another state

Divisions

GET/v1/competitions/{id}/divisionsA competition's divisions
POST/v1/competitions/{id}/divisionsAdd a division to a competition
GET/v1/divisions/{id}A division
PATCH/v1/divisions/{id}Change a division
DELETE/v1/divisions/{id}Delete an empty division
POST/v1/divisions/{id}/fixturesGenerate a division's round robin

Entries

GET/v1/competitions/{id}/entriesA competition's entries
POST/v1/competitions/{id}/entriesEnter a player or pair
GET/v1/entries/{id}An entry
PATCH/v1/entries/{id}Change, move, withdraw or reinstate an entry
DELETE/v1/entries/{id}Delete an entry made by mistake
POST/v1/entries/{id}/opt-outSay this entry is not playing in the next competition
DELETE/v1/entries/{id}/opt-outTake back opting out of the next competition
GET/v1/competitions/{id}/partner-choicesWhat a doubles competition's players want next season
PUT/v1/competitions/{id}/partner-choices/{member_id}Say what a doubles player wants next season
POST/v1/competitions/{id}/partner-choices/{member_id}/declineSay no to partnering a player next season
GET/v1/competitions/{id}/placementsWhat filling a draft would do, and which places it would leave empty
POST/v1/competitions/{id}/placementsFill a draft competition from the previous one's tables

Standings and progress

GET/v1/competitions/{id}/standingsA competition's tables
GET/v1/competitions/{id}/progressHow far through a competition is
GET/v1/seasons/{id}/progressHow far through a season each competition is
GET/v1/entries/{id}/progressHow far through its matches an entry is
GET/v1/chase-listWho has matches outstanding

Events

GET/v1/eventsRead the event feed