PAGES

← CTFd

CTFd — API

APIvv1 Read the vendor's spec ↗

  • 155 endpoints
  • 4 versions archived since Jul 20, 2026
  • Last checked Nov 2, 2026

Get started

first call
$ curl "$BASE_URL/teams/me" \
  -H "Authorization: $API_KEY"

Set $BASE_URL and $API_KEY first, then paste.

Base URL
Not named in the archived spec. $BASE_URL below stands for the origin you deploy against.
Authenticate
API key in the Authorization header Generate access token in the settings page of your user account.

What it covers

  • Teams 18 Endpoint to retrieve Teams
  • Challenges 17 Endpoint to retrieve Challenges
  • Users 15 Endpoint to retrieve Users
  • Configs 11 Endpoint to retrieve Configs
  • Modules 10 Endpoint to retrieve Modules
  • Statistics 9 Endpoint to retrieve Statistics
  • Audiences 8 Endpoint to retrieve Audiences
  • Flags 7 Endpoint to retrieve Flags
  • Hints 5 Endpoint to retrieve Hints
  • Notifications 5 Endpoint to retrieve Notifications
  • Pages 5 Endpoint to retrieve Pages
  • Solutions 5 Endpoint to retrieve and create Solutions
12 more areas
  • Submissions 5 Endpoint to retrieve Submission
  • Tags 5 Endpoint to retrieve Tags
  • Topics 5 Endpoint to retrieve Topics
  • Awards 4 Endpoint to retrieve Awards
  • Brackets 4 Endpoint to retrieve Brackets
  • Files 4 Endpoint to retrieve Files
  • Tokens 4 Endpoint to retrieve Tokens
  • Comments 3 Endpoint to retrieve Comments
  • Scoreboard 2 Endpoint to retrieve scores
  • Unlocks 2 Endpoint to retrieve Unlocks
  • Exports 1 Endpoint to retrieve Exports
  • Shares 1 Endpoint to create Share links

Endpoints

155 of 155

Open an endpoint for a runnable command, its inputs and what it returns.

Teams 18

  • DELETE /teams/me Endpoint to disband your current team.

    Loading…

  • DELETE /teams/{team_id} Endpoint to delete a specific Team object

    Loading…

  • DELETE /teams/{team_id}/members

    Loading…

  • GET /teams Endpoint to get Team objects in bulk

    Loading…

  • GET /teams/me Endpoint to get the current user's Team object

    Loading…

  • GET /teams/me/awards

    Loading…

  • GET /teams/me/fails

    Loading…

  • GET /teams/me/solves

    Loading…

  • GET /teams/{team_id} Endpoint to get a specific Team object

    Loading…

  • GET /teams/{team_id}/awards

    Loading…

  • GET /teams/{team_id}/fails

    Loading…

  • GET /teams/{team_id}/members

    Loading…

  • GET /teams/{team_id}/solves

    Loading…

  • PATCH /teams/me Endpoint to edit the current user's Team object

    Loading…

  • PATCH /teams/{team_id} Endpoint to edit a specific Team object

    Loading…

  • POST /teams Endpoint to create a Team object

    Loading…

  • POST /teams/me/members

    Loading…

  • POST /teams/{team_id}/members

    Loading…

Challenges 17

  • DELETE /challenges/{challenge_id} Endpoint to delete a specific Challenge object

    Loading…

  • GET /challenges Endpoint to get Challenge objects in bulk

    Loading…

  • GET /challenges/types

    Loading…

  • GET /challenges/{challenge_id} Endpoint to get a specific Challenge object

    Loading…

  • GET /challenges/{challenge_id}/files

    Loading…

  • GET /challenges/{challenge_id}/flags

    Loading…

  • GET /challenges/{challenge_id}/hints

    Loading…

  • GET /challenges/{challenge_id}/ratings Get paginated ratings for a challenge

    Loading…

  • GET /challenges/{challenge_id}/requirements

    Loading…

  • GET /challenges/{challenge_id}/solution

    Loading…

  • GET /challenges/{challenge_id}/solves

    Loading…

  • GET /challenges/{challenge_id}/tags

    Loading…

  • GET /challenges/{challenge_id}/topics

    Loading…

  • PATCH /challenges/{challenge_id} Endpoint to edit a specific Challenge object

    Loading…

  • POST /challenges Endpoint to create a Challenge object

    Loading…

  • POST /challenges/attempt

    Loading…

  • PUT /challenges/{challenge_id}/ratings Create or update a rating for a challenge

    Loading…

Users 15

  • DELETE /users/{user_id} Endpoint to delete a specific User object

    Loading…

  • GET /users Endpoint to get User objects in bulk

    Loading…

  • GET /users/me Endpoint to get the User object for the current user

    Loading…

  • GET /users/me/awards

    Loading…

  • GET /users/me/fails

    Loading…

  • GET /users/me/solves

    Loading…

  • GET /users/me/submissions

    Loading…

  • GET /users/{user_id} Endpoint to get a specific User object

    Loading…

  • GET /users/{user_id}/awards

    Loading…

  • GET /users/{user_id}/fails

    Loading…

  • GET /users/{user_id}/solves

    Loading…

  • PATCH /users/me Endpoint to edit the User object for the current user

    Loading…

  • PATCH /users/{user_id} Endpoint to edit a specific User object

    Loading…

  • POST /users Endpoint to create a User object

    Loading…

  • POST /users/{user_id}/email Endpoint to email a User object

    Loading…

Configs 11

  • DELETE /configs/fields/{field_id}

    Loading…

  • DELETE /configs/{config_key} Endpoint to delete a Config object

    Loading…

  • GET /configs Endpoint to get Config objects in bulk

    Loading…

  • GET /configs/fields

    Loading…

  • GET /configs/fields/{field_id}

    Loading…

  • GET /configs/{config_key} Endpoint to get a specific Config object

    Loading…

  • PATCH /configs Endpoint to get patch Config objects in bulk

    Loading…

  • PATCH /configs/fields/{field_id}

    Loading…

  • PATCH /configs/{config_key} Endpoint to edit a specific Config object

    Loading…

  • POST /configs Endpoint to get create a Config object

    Loading…

  • POST /configs/fields

    Loading…

Modules 10

  • DELETE /modules/{module_id}

    Loading…

  • DELETE /modules/{module_id}/audiences/{audience_id}

    Loading…

  • GET /modules

    Loading…

  • GET /modules/{module_id}

    Loading…

  • GET /modules/{module_id}/audiences

    Loading…

  • GET /modules/{module_id}/challenges

    Loading…

  • PATCH /modules/{module_id}

    Loading…

  • POST /modules

    Loading…

  • POST /modules/{module_id}/audiences

    Loading…

  • POST /modules/{module_id}/challenges

    Loading…

Statistics 9

  • GET /statistics/challenges/solves

    Loading…

  • GET /statistics/challenges/solves/percentages

    Loading…

  • GET /statistics/challenges/{column}

    Loading…

  • GET /statistics/progression/matrix

    Loading…

  • GET /statistics/scores/distribution

    Loading…

  • GET /statistics/submissions/{column}

    Loading…

  • GET /statistics/teams

    Loading…

  • GET /statistics/users

    Loading…

  • GET /statistics/users/{column}

    Loading…

Audiences 8

  • DELETE /audiences/{audience_id}

    Loading…

  • DELETE /audiences/{audience_id}/members/{member_id}

    Loading…

  • GET /audiences

    Loading…

  • GET /audiences/{audience_id}

    Loading…

  • GET /audiences/{audience_id}/members

    Loading…

  • PATCH /audiences/{audience_id}

    Loading…

  • POST /audiences

    Loading…

  • POST /audiences/{audience_id}/members

    Loading…

Flags 7

  • DELETE /flags/{flag_id} Endpoint to delete a specific Flag object

    Loading…

  • GET /flags Endpoint to list Flag objects in bulk

    Loading…

  • GET /flags/types

    Loading…

  • GET /flags/types/{type_name}

    Loading…

  • GET /flags/{flag_id} Endpoint to get a specific Flag object

    Loading…

  • PATCH /flags/{flag_id} Endpoint to edit a specific Flag object

    Loading…

  • POST /flags Endpoint to create a Flag object

    Loading…

Hints 5

  • DELETE /hints/{hint_id} Endpoint to delete a specific Tag object

    Loading…

  • GET /hints Endpoint to list Hint objects in bulk

    Loading…

  • GET /hints/{hint_id} Endpoint to get a specific Hint object

    Loading…

  • PATCH /hints/{hint_id} Endpoint to edit a specific Hint object

    Loading…

  • POST /hints Endpoint to create a Hint object

    Loading…

Notifications 5

  • DELETE /notifications/{notification_id} Endpoint to delete a notification object

    Loading…

  • GET /notifications Endpoint to get notification objects in bulk

    Loading…

  • GET /notifications/{notification_id} Endpoint to get a specific notification object

    Loading…

  • HEAD /notifications Endpoint to get statistics for notification objects in bulk

    Loading…

  • POST /notifications Endpoint to create a notification object

    Loading…

Pages 5

  • DELETE /pages/{page_id} Endpoint to delete a page object

    Loading…

  • GET /pages Endpoint to get page objects in bulk

    Loading…

  • GET /pages/{page_id} Endpoint to read a page object

    Loading…

  • PATCH /pages/{page_id} Endpoint to edit a page object

    Loading…

  • POST /pages Endpoint to create a page object

    Loading…

Solutions 5

  • DELETE /solutions/{solution_id} Endpoint to delete a solution object

    Loading…

  • GET /solutions Endpoint to get solution objects in bulk

    Loading…

  • GET /solutions/{solution_id} Endpoint to get a solution object

    Loading…

  • PATCH /solutions/{solution_id} Endpoint to edit a solution object

    Loading…

  • POST /solutions Endpoint to create a solution object

    Loading…

Submissions 5

  • DELETE /submissions/{submission_id} Endpoint to delete a submission object

    Loading…

  • GET /submissions Endpoint to get submission objects in bulk

    Loading…

  • GET /submissions/{submission_id} Endpoint to get a submission object

    Loading…

  • PATCH /submissions/{submission_id} Endpoint to edit a submission object

    Loading…

  • POST /submissions Endpoint to create a submission object.

    Loading…

Tags 5

  • DELETE /tags/{tag_id} Endpoint to delete a specific Tag object

    Loading…

  • GET /tags Endpoint to list Tag objects in bulk

    Loading…

  • GET /tags/{tag_id} Endpoint to get a specific Tag object

    Loading…

  • PATCH /tags/{tag_id} Endpoint to edit a specific Tag object

    Loading…

  • POST /tags Endpoint to create a Tag object

    Loading…

Topics 5

  • DELETE /topics Endpoint to delete a specific Topic object of a specific type

    Loading…

  • DELETE /topics/{topic_id} Endpoint to delete a specific Topic object

    Loading…

  • GET /topics Endpoint to list Topic objects in bulk

    Loading…

  • GET /topics/{topic_id} Endpoint to get a specific Topic object

    Loading…

  • POST /topics Endpoint to create a Topic object

    Loading…

Awards 4

  • DELETE /awards/{award_id} Endpoint to delete an Award object

    Loading…

  • GET /awards Endpoint to list Award objects in bulk

    Loading…

  • GET /awards/{award_id} Endpoint to get a specific Award object

    Loading…

  • POST /awards Endpoint to create an Award object

    Loading…

Brackets 4

  • DELETE /brackets/{bracket_id}

    Loading…

  • GET /brackets

    Loading…

  • PATCH /brackets/{bracket_id}

    Loading…

  • POST /brackets

    Loading…

Files 4

  • DELETE /files/{file_id} Endpoint to delete a file object

    Loading…

  • GET /files Endpoint to get file objects in bulk

    Loading…

  • GET /files/{file_id} Endpoint to get a specific file object

    Loading…

  • POST /files Endpoint to get file objects in bulk

    Loading…

Tokens 4

  • DELETE /tokens/{token_id} Endpoint to delete an existing token object

    Loading…

  • GET /tokens Endpoint to get token objects in bulk

    Loading…

  • GET /tokens/{token_id} Endpoint to get an existing token object

    Loading…

  • POST /tokens Endpoint to create a token object

    Loading…

Comments 3

  • DELETE /comments/{comment_id} Endpoint to delete a specific Comment object

    Loading…

  • GET /comments Endpoint to list Comment objects in bulk

    Loading…

  • POST /comments Endpoint to create a Comment object

    Loading…

Scoreboard 2

  • GET /scoreboard

    Loading…

  • GET /scoreboard/top/{count}

    Loading…

Unlocks 2

  • GET /unlocks Endpoint to get unlock objects in bulk

    Loading…

  • POST /unlocks Endpoint to create an unlock object.

    Loading…

Exports 1

  • POST /exports/raw

    Loading…

Shares 1

  • POST /shares

    Loading…

Change log

    • +DELETE /audiences/{audience_id}
    • +DELETE /audiences/{audience_id}/members/{member_id}
    • +DELETE /modules/{module_id}
    • +DELETE /modules/{module_id}/audiences/{audience_id}
    • +GET /audiences
    • +GET /audiences/{audience_id}
    • +GET /audiences/{audience_id}/members
    • +GET /modules
    • +GET /modules/{module_id}
    • +GET /modules/{module_id}/audiences
    • +GET /modules/{module_id}/challenges
    • +PATCH /audiences/{audience_id}
    • +PATCH /modules/{module_id}
    • +POST /audiences
    • +POST /audiences/{audience_id}/members
    • +POST /modules
    • +POST /modules/{module_id}/audiences
    • +POST /modules/{module_id}/challenges
browse all tools → score card for your toolchain →