Challenge routes
Get a list of challenges
Gets a list of challenges. Includes disabled challenges if admin.
GET /competitions/{id}/challenges
Responses
code |
description |
content |
200 |
a list of challenges |
array of challenges
|
403 |
competition has not started |
{"message": "competition_not_started"} |
Get a challenge
Gets a single challenge. Returns 404 for disabled challenges unless admin.
GET /competitions/{id}/challenges/{id}
Responses
code |
description |
content |
200 |
the challenge |
a challenge
|
404 |
not found |
{"message": "challenge_not_found"} |
403 |
competition has not started |
{"message": "competition_not_started"} |
Create a challenge
Creates a challenge. Requires admin.
POST /competitions/{id}/challenges
Request Body
name |
type |
required |
requirements |
title |
string |
yes |
none |
description |
string |
yes |
none |
value |
number |
yes |
none |
author |
string |
yes |
none |
flag |
string |
yes |
none |
category |
string |
yes |
none |
hint |
string |
no |
none |
enabled |
boolean |
yes |
none |
Responses
code |
description |
content |
201 |
successfully created challenge |
none |
400 |
invalid data provided |
{"message": "invalid_values"} |
403 |
user is not an admin |
{"message": "action_forbidden"} |
401 |
authentication failed |
none |
Submit a flag
Submits a flag for a challenge. Requires the user to be on a team.
POST /competitions/{id}/challenges/{id}/submissions
Request Body
name |
type |
required |
requirements |
flag |
string |
yes |
none |
Responses
code |
description |
content |
200 |
submission result |
{"correct": true/false} |
400 |
challenge already solved |
{"message": "challenge_already_solved"} |
404 |
challenge not found |
{"message": "challenge_not_found"} |
403 |
user not on team |
{"message": "user_not_on_team"} |
401 |
authentication failed |
none |
400 |
invalid data provided |
{"message": "invalid_values"} |
403 |
competition has not started |
{"message": "competition_not_started"} |
Modify a challenge
Modify a challenge. Requires admin.
PATCH /competitions/{id}/challenges/{id}
Request Body
name |
type |
required |
requirements |
title |
string |
no |
none |
description |
string |
no |
none |
value |
number |
no |
none |
author |
string |
no |
none |
flag |
string |
no |
none |
category |
string |
no |
none |
hint |
string |
no |
none |
Responses
code |
description |
content |
204 |
successfully modified |
none |
403 |
action forbidden |
{message: "action_forbidden"} |
401 |
authentication failed |
none |
400 |
invalid values |
{"message": "invalid_values"} |
Delete a challenge
Delete a challenge. Requires admin.
DELETE /competitions/{id}/challenges/{id}
Responses
code |
description |
content |
204 |
successfully deleted |
none |
403 |
action forbidden |
{message: "action_forbidden"} |
401 |
authentication failed |
none |