Any specific types are in reference to golangs default types.
-
tournament:
{ "id": "int", "name": "string", "description": "string", "start_time": "time.Time", "end_time": "time.Time", "rounds": [ "round", "round", "round", ], "staffs": [ "staff", "staff", "staff", ], "registration_start_time": "time.Time", "registartion_end_time": "time.Time", "registrations": [ "user" ] }
-
round:
{ "id": "int", "name": "string", "description": "string", "start_time": "time.Time", "end_time": "time.Time", "download_path": "Download path to file of this round", }
-
staff:
{ "id": "int", "User": "User", "role": "string", }
-
rating:
{ "id": "int", "scores": [ "score", "score", "score", ] }
-
score:
{ "id": "int", "judge_id": "int", "score": "int", "category": "string", }
-
beatmap:
{ "id": "int", "hash": "string", "to_use": "bool", }
-
[GET] /oauth: Redirect user to oauth of the server, e.g. https://localhost/oauth/ripple redirects to ripple's oauth page.
- Valid server: ripple
-
[GET] /oauth/{server}/logout: Logout user for the server.
- Valid server: ripple
-
[GET] /api/v1/tournaments: Get all tournaments.
-
[GET] /api/v1/tournament/{id}: Get tournament by id.
-
[GET] /api/v1/me: Get personal data, including all tournament data, beatmaps and tokens. Literally everything.
-
[GET] /api/v1/self: Get personal data, including all tournament data, beatmaps and tokens. Literally everything.
-
[POST] /api/v1/{tournament}/registration: Signup for a tournament.
-
[DELETE] /api/v1/{tournament}/registration: Unsignup for a tournament.
-
[GET] /api/v1/{tournament}/rounds/{round_name}/beatmaps: Receive uploaded maps, or judgable maps for judges.
-
[DELETE] /api/v1/{tournament}/rounds/{round_name}/beatmaps/{beatmap_id}: Delete my uploaded map.
-
[POST] /api/v1/{tournament}/rounds/{round_name}/beatmaps: Upload a beatmap.
- Required fields:
- file: .osu file
- This will replace the oldest available file if the limit of 5 submissions is reached
- Required fields:
All of the below endpoints require admin privileges. This will be enforced by middlewares.
If you're not an admin, you won't be able to access these endpoints. If you believe you are missing an admin privilege, please contact the tournament host.
-
[POST] /api/v1/tournaments: Create a tournament
- Required fields:
- same fields as tournament
- Returns:
- tournament
- Required fields:
-
[PUT] /api/v1/tournaments/{id}: in-place replace an tournament by id
- Required fields:
- same fields as tournament
- Required fields:
-
[DELETE] /api/v1/tournaments/{id}: Delete a tournament
-
[POST] /api/v1/tournaments/{id}/rounds/create: Create a round in the tournament
- Required fields:
- same fields as round
- Returns:
- round
- Required fields:
-
[POST] /api/v1/tournaments/{id}/round/{round_name}/activate: Start a round
-
[POST] /api/v1/tournaments/{id}/staff: Add a staff member
- Required fields:
- user_id: Internal user id of the user
- role: "admin", "judge" or "mod"
- Required fields:
-
[DELETE] /api/v1/tournaments/{id}/staff: Remove a staff member
- Required fields:
One of the following:
- ripple_id: Ripple id of the staff member
- Required fields:
One of the following:
-
[POST] /api/v1/tournaments/{id}/round/{round_id}/map/rating: Judge a map
- Required fields:
- map_id: Map entry id
- scores: Scores of the map
- Required fields: