Skip to content

Instantly share code, notes, and snippets.

@kpostekk
Created July 20, 2024 20:43
Show Gist options
  • Save kpostekk/c53ccdf8e1209008a50795c27d4f199e to your computer and use it in GitHub Desktop.
Save kpostekk/c53ccdf8e1209008a50795c27d4f199e to your computer and use it in GitHub Desktop.
OpenApi 3.x.x definitions for CTFd. With enums.
openapi: 3.0.1
info:
title: API
version: v1
servers:
- url: /api/v1
security:
- AccessToken: []
- ContentType: []
tags:
- name: challenges
description: Endpoint to retrieve Challenges
- name: tags
description: Endpoint to retrieve Tags
- name: topics
description: Endpoint to retrieve Topics
- name: awards
description: Endpoint to retrieve Awards
- name: hints
description: Endpoint to retrieve Hints
- name: flags
description: Endpoint to retrieve Flags
- name: submissions
description: Endpoint to retrieve Submission
- name: scoreboard
description: Endpoint to retrieve scores
- name: teams
description: Endpoint to retrieve Teams
- name: users
description: Endpoint to retrieve Users
- name: statistics
description: Endpoint to retrieve Statistics
- name: files
description: Endpoint to retrieve Files
- name: notifications
description: Endpoint to retrieve Notifications
- name: configs
description: Endpoint to retrieve Configs
- name: pages
description: Endpoint to retrieve Pages
- name: unlocks
description: Endpoint to retrieve Unlocks
- name: tokens
description: Endpoint to retrieve Tokens
- name: comments
description: Endpoint to retrieve Comments
- name: shares
description: Endpoint to create Share links
- name: brackets
description: Endpoint to retrieve Brackets
- name: exports
description: Endpoint to retrieve Exports
paths:
/awards:
get:
tags:
- awards
description: Endpoint to list Award objects in bulk
operationId: get_award_list
parameters:
- name: user_id
in: query
schema:
type: integer
- name: team_id
in: query
schema:
type: integer
- name: type
in: query
schema:
type: string
- name: value
in: query
schema:
type: integer
- name: category
in: query
schema:
type: integer
- name: icon
in: query
schema:
type: integer
- name: q
in: query
schema:
type: string
- name: field
in: query
schema:
type: string
enum:
- name
- description
- category
- icon
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AwardListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- awards
description: Endpoint to create an Award object
operationId: post_award_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AwardListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/awards/{award_id}:
get:
tags:
- awards
description: Endpoint to get a specific Award object
operationId: get_award
parameters:
- name: award_id
in: path
description: An Award ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AwardDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- awards
description: Endpoint to delete an Award object
operationId: delete_award
parameters:
- name: award_id
in: path
description: An Award ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
/brackets:
get:
tags:
- brackets
operationId: get_bracket_list
parameters:
- name: name
in: query
schema:
type: string
- name: description
in: query
schema:
type: string
- name: type
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/BracketFields'
- name: field
in: query
schema:
type: string
enum:
- name
- description
- type
responses:
"200":
description: Success
content: {}
post:
tags:
- brackets
operationId: post_bracket_list
responses:
"200":
description: Success
content: {}
/brackets/{bracket_id}:
delete:
tags:
- brackets
operationId: delete_bracket
parameters:
- name: bracket_id
in: path
required: true
schema:
type: integer
responses:
"200":
description: Success
content: {}
patch:
tags:
- brackets
operationId: patch_bracket
parameters:
- name: bracket_id
in: path
required: true
schema:
type: integer
responses:
"200":
description: Success
content: {}
/challenges:
get:
tags:
- challenges
description: Endpoint to get Challenge objects in bulk
operationId: get_challenge_list
parameters:
- name: name
in: query
schema:
type: string
- name: max_attempts
in: query
schema:
type: integer
- name: value
in: query
schema:
type: integer
- name: category
in: query
schema:
type: string
- name: type
in: query
schema:
type: string
- name: state
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/ChallengeFields'
- name: field
in: query
schema:
type: string
enum:
- name
- description
- category
- type
- state
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ChallengeListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- challenges
description: Endpoint to create a Challenge object
operationId: post_challenge_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ChallengeDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/challenges/attempt:
post:
tags:
- challenges
operationId: post_challenge_attempt
responses:
"200":
description: Success
content: {}
/challenges/types:
get:
tags:
- challenges
operationId: get_challenge_types
responses:
"200":
description: Success
content: {}
/challenges/{challenge_id}:
get:
tags:
- challenges
description: Endpoint to get a specific Challenge object
operationId: get_challenge
parameters:
- name: challenge_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ChallengeDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- challenges
description: Endpoint to delete a specific Challenge object
operationId: delete_challenge
parameters:
- name: challenge_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
patch:
tags:
- challenges
description: Endpoint to edit a specific Challenge object
operationId: patch_challenge
parameters:
- name: challenge_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ChallengeDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/challenges/{challenge_id}/files:
get:
tags:
- challenges
operationId: get_challenge_files
parameters:
- name: challenge_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/challenges/{challenge_id}/flags:
get:
tags:
- challenges
operationId: get_challenge_flags
parameters:
- name: challenge_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/challenges/{challenge_id}/hints:
get:
tags:
- challenges
operationId: get_challenge_hints
parameters:
- name: challenge_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/challenges/{challenge_id}/requirements:
get:
tags:
- challenges
operationId: get_challenge_requirements
parameters:
- name: challenge_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/challenges/{challenge_id}/solves:
get:
tags:
- challenges
operationId: get_challenge_solves
parameters:
- name: challenge_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/challenges/{challenge_id}/tags:
get:
tags:
- challenges
operationId: get_challenge_tags
parameters:
- name: challenge_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/challenges/{challenge_id}/topics:
get:
tags:
- challenges
operationId: get_challenge_topics
parameters:
- name: challenge_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/comments:
get:
tags:
- comments
description: Endpoint to list Comment objects in bulk
operationId: get_comment_list
parameters:
- name: challenge_id
in: query
schema:
type: integer
- name: user_id
in: query
schema:
type: integer
- name: team_id
in: query
schema:
type: integer
- name: page_id
in: query
schema:
type: integer
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/CommentFields'
- name: field
in: query
schema:
type: string
enum:
- content
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CommentListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- comments
description: Endpoint to create a Comment object
operationId: post_comment_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CommentDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/comments/{comment_id}:
delete:
tags:
- comments
description: Endpoint to delete a specific Comment object
operationId: delete_comment
parameters:
- name: comment_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
/configs:
get:
tags:
- configs
description: Endpoint to get Config objects in bulk
operationId: get_config_list
parameters:
- name: key
in: query
schema:
type: string
- name: value
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/ConfigFields'
- name: field
in: query
schema:
type: string
enum:
- content
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- configs
description: Endpoint to get create a Config object
operationId: post_config_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
patch:
tags:
- configs
description: Endpoint to get patch Config objects in bulk
operationId: patch_config_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
/configs/fields:
get:
tags:
- configs
operationId: get_field_list
parameters:
- name: type
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/FieldFields'
- name: field
in: query
schema:
type: string
enum:
- description
responses:
"200":
description: Success
content: {}
post:
tags:
- configs
operationId: post_field_list
responses:
"200":
description: Success
content: {}
/configs/fields/{field_id}:
get:
tags:
- configs
operationId: get_field
parameters:
- name: field_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
delete:
tags:
- configs
operationId: delete_field
parameters:
- name: field_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
patch:
tags:
- configs
operationId: patch_field
parameters:
- name: field_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/configs/{config_key}:
get:
tags:
- configs
description: Endpoint to get a specific Config object
operationId: get_config
parameters:
- name: config_key
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- configs
description: Endpoint to delete a Config object
operationId: delete_config
parameters:
- name: config_key
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
patch:
tags:
- configs
description: Endpoint to edit a specific Config object
operationId: patch_config
parameters:
- name: config_key
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/exports/raw:
post:
tags:
- exports
operationId: post_export_list
responses:
"200":
description: Success
content: {}
/files:
get:
tags:
- files
description: Endpoint to get file objects in bulk
operationId: get_files_list
parameters:
- name: type
in: query
schema:
type: string
- name: location
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/FileFields'
- name: field
in: query
schema:
type: string
enum:
- type
- location
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FileListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- files
description: Endpoint to get file objects in bulk
operationId: post_files_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FileDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/files/{file_id}:
get:
tags:
- files
description: Endpoint to get a specific file object
operationId: get_files_detail
parameters:
- name: file_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FileDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- files
description: Endpoint to delete a file object
operationId: delete_files_detail
parameters:
- name: file_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
/flags:
get:
tags:
- flags
description: Endpoint to list Flag objects in bulk
operationId: get_flag_list
parameters:
- name: challenge_id
in: query
schema:
type: integer
- name: type
in: query
schema:
type: string
- name: content
in: query
schema:
type: string
- name: data
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/FlagFields'
- name: field
in: query
schema:
type: string
enum:
- type
- content
- data
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FlagListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- flags
description: Endpoint to create a Flag object
operationId: post_flag_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FlagDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/flags/types:
get:
tags:
- flags
operationId: get_flag_types
responses:
"200":
description: Success
content: {}
/flags/types/{type_name}:
get:
tags:
- flags
operationId: get_flag_types_names
parameters:
- name: type_name
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/flags/{flag_id}:
get:
tags:
- flags
description: Endpoint to get a specific Flag object
operationId: get_flag
parameters:
- name: flag_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FlagDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- flags
description: Endpoint to delete a specific Flag object
operationId: delete_flag
parameters:
- name: flag_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
patch:
tags:
- flags
description: Endpoint to edit a specific Flag object
operationId: patch_flag
parameters:
- name: flag_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FlagDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/hints:
get:
tags:
- hints
description: Endpoint to list Hint objects in bulk
operationId: get_hint_list
parameters:
- name: type
in: query
schema:
type: string
- name: challenge_id
in: query
schema:
type: integer
- name: content
in: query
schema:
type: string
- name: cost
in: query
schema:
type: integer
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/HintFields'
- name: field
in: query
schema:
type: string
enum:
- type
- content
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/HintListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- hints
description: Endpoint to create a Hint object
operationId: post_hint_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/HintDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/hints/{hint_id}:
get:
tags:
- hints
description: Endpoint to get a specific Hint object
operationId: get_hint
parameters:
- name: hint_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/HintDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- hints
description: Endpoint to delete a specific Tag object
operationId: delete_hint
parameters:
- name: hint_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
patch:
tags:
- hints
description: Endpoint to edit a specific Hint object
operationId: patch_hint
parameters:
- name: hint_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/HintDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/notifications:
get:
tags:
- notifications
description: Endpoint to get notification objects in bulk
operationId: get_notificantion_list
parameters:
- name: title
in: query
schema:
type: string
- name: content
in: query
schema:
type: string
- name: user_id
in: query
schema:
type: integer
- name: team_id
in: query
schema:
type: integer
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/NotificationFields'
- name: field
in: query
schema:
type: string
enum:
- type
- content
- name: since_id
in: query
schema:
type: integer
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- notifications
description: Endpoint to create a notification object
operationId: post_notificantion_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
head:
tags:
- notifications
description: Endpoint to get statistics for notification objects in bulk
operationId: head_notificantion_list
parameters:
- name: title
in: query
schema:
type: string
- name: content
in: query
schema:
type: string
- name: user_id
in: query
schema:
type: integer
- name: team_id
in: query
schema:
type: integer
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/NotificationFields'
- name: field
in: query
schema:
type: string
enum:
- type
- content
- name: since_id
in: query
schema:
type: integer
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
/notifications/{notification_id}:
get:
tags:
- notifications
description: Endpoint to get a specific notification object
operationId: get_notification
parameters:
- name: notification_id
in: path
description: A Notification ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- notifications
description: Endpoint to delete a notification object
operationId: delete_notification
parameters:
- name: notification_id
in: path
description: A Notification ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
/pages:
get:
tags:
- pages
description: Endpoint to get page objects in bulk
operationId: get_page_list
parameters:
- name: id
in: query
schema:
type: integer
- name: title
in: query
schema:
type: string
- name: route
in: query
schema:
type: string
- name: draft
in: query
schema:
type: boolean
- name: hidden
in: query
schema:
type: boolean
- name: auth_required
in: query
schema:
type: boolean
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/PageFields
- name: field
in: query
schema:
type: string
enum:
- title
- route
- content
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PageListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- pages
description: Endpoint to create a page object
operationId: post_page_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PageDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/pages/{page_id}:
get:
tags:
- pages
description: Endpoint to read a page object
operationId: get_page_detail
parameters:
- name: page_id
in: path
description: ID of a page object
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PageDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- pages
description: Endpoint to delete a page object
operationId: delete_page_detail
parameters:
- name: page_id
in: path
description: ID of a page object
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
patch:
tags:
- pages
description: Endpoint to edit a page object
operationId: patch_page_detail
parameters:
- name: page_id
in: path
description: ID of a page object
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PageDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/scoreboard:
get:
tags:
- scoreboard
operationId: get_scoreboard_list
responses:
"200":
description: Success
content: {}
/scoreboard/top/{count}:
get:
tags:
- scoreboard
operationId: get_scoreboard_detail
parameters:
- name: count
in: path
description: How many top teams to return
required: true
schema:
type: integer
responses:
"200":
description: Success
content: {}
/shares:
post:
tags:
- shares
operationId: post_share
responses:
"200":
description: Success
content: {}
/statistics/challenges/solves:
get:
tags:
- statistics
operationId: get_challenge_solve_statistics
responses:
"200":
description: Success
content: {}
/statistics/challenges/solves/percentages:
get:
tags:
- statistics
operationId: get_challenge_solve_percentages
responses:
"200":
description: Success
content: {}
/statistics/challenges/{column}:
get:
tags:
- statistics
operationId: get_challenge_property_counts
parameters:
- name: column
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/statistics/scores/distribution:
get:
tags:
- statistics
operationId: get_scores_distribution
responses:
"200":
description: Success
content: {}
/statistics/submissions/{column}:
get:
tags:
- statistics
operationId: get_submission_property_counts
parameters:
- name: column
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/statistics/teams:
get:
tags:
- statistics
operationId: get_team_statistics
responses:
"200":
description: Success
content: {}
/statistics/users:
get:
tags:
- statistics
operationId: get_user_statistics
responses:
"200":
description: Success
content: {}
/statistics/users/{column}:
get:
tags:
- statistics
operationId: get_user_property_counts
parameters:
- name: column
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/submissions:
get:
tags:
- submissions
description: Endpoint to get submission objects in bulk
operationId: get_submissions_list
parameters:
- name: challenge_id
in: query
schema:
type: integer
- name: user_id
in: query
schema:
type: integer
- name: team_id
in: query
schema:
type: integer
- name: ip
in: query
schema:
type: string
- name: provided
in: query
schema:
type: string
- name: type
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/SubmissionFields'
- name: field
in: query
schema:
type: string
enum:
- challenge_id
- user_id
- team_id
- ip
- provided
- type
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SubmissionListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- submissions
description: Endpoint to create a submission object. Users should interact with
the attempt endpoint to submit flags.
operationId: post_submissions_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SubmissionListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/submissions/{submission_id}:
get:
tags:
- submissions
description: Endpoint to get a submission object
operationId: get_submission
parameters:
- name: submission_id
in: path
description: A Submission ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SubmissionDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- submissions
description: Endpoint to delete a submission object
operationId: delete_submission
parameters:
- name: submission_id
in: path
description: A Submission ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
patch:
tags:
- submissions
description: Endpoint to edit a submission object
operationId: patch_submission
parameters:
- name: submission_id
in: path
description: A Submission ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SubmissionDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/tags:
get:
tags:
- tags
description: Endpoint to list Tag objects in bulk
operationId: get_tag_list
parameters:
- name: challenge_id
in: query
schema:
type: integer
- name: value
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/TagFields'
- name: field
in: query
schema:
type: string
enum:
- challenge_id
- value
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TagListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- tags
description: Endpoint to create a Tag object
operationId: post_tag_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TagDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/tags/{tag_id}:
get:
tags:
- tags
description: Endpoint to get a specific Tag object
operationId: get_tag
parameters:
- name: tag_id
in: path
description: A Tag ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TagDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- tags
description: Endpoint to delete a specific Tag object
operationId: delete_tag
parameters:
- name: tag_id
in: path
description: A Tag ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
patch:
tags:
- tags
description: Endpoint to edit a specific Tag object
operationId: patch_tag
parameters:
- name: tag_id
in: path
description: A Tag ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TagDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/teams:
get:
tags:
- teams
description: Endpoint to get Team objects in bulk
operationId: get_team_list
parameters:
- name: affiliation
in: query
schema:
type: string
- name: country
in: query
schema:
type: string
- name: bracket
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/TeamFields'
- name: field
in: query
schema:
type: string
enum:
- "name"
- "website"
- "country"
- "bracket"
- "affiliation"
- "email"
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TeamListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- teams
description: Endpoint to create a Team object
operationId: post_team_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TeamDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/teams/me:
get:
tags:
- teams
description: Endpoint to get the current user's Team object
operationId: get_team_private
parameters:
- name: team_id
in: query
description: Current Team
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TeamDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- teams
description: Endpoint to disband your current team. Can only be used if the
team has performed no actions in the CTF.
operationId: delete_team_private
parameters:
- name: team_id
in: query
description: Current Team
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
patch:
tags:
- teams
description: Endpoint to edit the current user's Team object
operationId: patch_team_private
parameters:
- name: team_id
in: query
description: Current Team
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TeamDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/teams/me/awards:
get:
tags:
- teams
operationId: get_team_private_awards
responses:
"200":
description: Success
content: {}
/teams/me/fails:
get:
tags:
- teams
operationId: get_team_private_fails
responses:
"200":
description: Success
content: {}
/teams/me/members:
post:
tags:
- teams
operationId: post_team_private_members
responses:
"200":
description: Success
content: {}
/teams/me/solves:
get:
tags:
- teams
operationId: get_team_private_solves
responses:
"200":
description: Success
content: {}
/teams/{team_id}:
get:
tags:
- teams
description: Endpoint to get a specific Team object
operationId: get_team_public
parameters:
- name: team_id
in: path
description: Team ID
required: true
schema:
type: integer
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TeamDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- teams
description: Endpoint to delete a specific Team object
operationId: delete_team_public
parameters:
- name: team_id
in: path
description: Team ID
required: true
schema:
type: integer
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
patch:
tags:
- teams
description: Endpoint to edit a specific Team object
operationId: patch_team_public
parameters:
- name: team_id
in: path
description: Team ID
required: true
schema:
type: integer
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TeamDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/teams/{team_id}/awards:
get:
tags:
- teams
operationId: get_team_public_awards
parameters:
- name: team_id
in: path
description: Team ID
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/teams/{team_id}/fails:
get:
tags:
- teams
operationId: get_team_public_fails
parameters:
- name: team_id
in: path
description: Team ID
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/teams/{team_id}/members:
get:
tags:
- teams
operationId: get_team_members
parameters:
- name: team_id
in: path
description: Team ID
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
post:
tags:
- teams
operationId: post_team_members
parameters:
- name: team_id
in: path
description: Team ID
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
delete:
tags:
- teams
operationId: delete_team_members
parameters:
- name: team_id
in: path
description: Team ID
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/teams/{team_id}/solves:
get:
tags:
- teams
operationId: get_team_public_solves
parameters:
- name: team_id
in: path
description: Team ID
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/tokens:
get:
tags:
- tokens
description: Endpoint to get token objects in bulk
operationId: get_token_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TokenListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- tokens
description: Endpoint to create a token object
operationId: post_token_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TokenDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/tokens/{token_id}:
get:
tags:
- tokens
description: Endpoint to get an existing token object
operationId: get_token_detail
parameters:
- name: token_id
in: path
description: A Token ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ValuelessTokenDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- tokens
description: Endpoint to delete an existing token object
operationId: delete_token_detail
parameters:
- name: token_id
in: path
description: A Token ID
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
/topics:
get:
tags:
- topics
description: Endpoint to list Topic objects in bulk
operationId: get_topic_list
parameters:
- name: value
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/TopicFields'
- name: field
in: query
schema:
type: string
enum:
- value
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TopicListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- topics
description: Endpoint to create a Topic object
operationId: post_topic_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TopicDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- topics
description: Endpoint to delete a specific Topic object of a specific type
operationId: delete_topic_list
parameters:
- name: type
in: query
schema:
type: string
- name: target_id
in: query
schema:
type: integer
default: 0
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
/topics/{topic_id}:
get:
tags:
- topics
description: Endpoint to get a specific Topic object
operationId: get_topic
parameters:
- name: topic_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TopicDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- topics
description: Endpoint to delete a specific Topic object
operationId: delete_topic
parameters:
- name: topic_id
in: path
required: true
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
/unlocks:
get:
tags:
- unlocks
description: Endpoint to get unlock objects in bulk
operationId: get_unlock_list
parameters:
- name: user_id
in: query
schema:
type: integer
- name: team_id
in: query
schema:
type: integer
- name: target
in: query
schema:
type: integer
- name: type
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/UnlockFields'
- name: field
in: query
schema:
type: string
enum:
- target
- type
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UnlockListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- unlocks
description: Endpoint to create an unlock object. Used to unlock hints.
operationId: post_unlock_list
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UnlockDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/users:
get:
tags:
- users
description: Endpoint to get User objects in bulk
operationId: get_user_list
parameters:
- name: affiliation
in: query
schema:
type: string
- name: country
in: query
schema:
type: string
- name: bracket
in: query
schema:
type: string
- name: q
in: query
schema:
type: string
# - $ref: '#/definitions/UserFields'
- name: field
in: query
schema:
type: string
enum:
- name
- website
- country
- bracket
- affiliation
- email
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserListSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
post:
tags:
- users
description: Endpoint to create a User object
operationId: post_user_list
parameters:
- name: notify
in: query
description: Whether to send the created user an email with their credentials
schema:
type: string
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/users/me:
get:
tags:
- users
description: Endpoint to get the User object for the current user
operationId: get_user_private
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
patch:
tags:
- users
description: Endpoint to edit the User object for the current user
operationId: patch_user_private
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/users/me/awards:
get:
tags:
- users
operationId: get_user_private_awards
parameters:
- name: user_id
in: query
description: User ID
schema:
type: string
responses:
"200":
description: Success
content: {}
/users/me/fails:
get:
tags:
- users
operationId: get_user_private_fails
responses:
"200":
description: Success
content: {}
/users/me/solves:
get:
tags:
- users
operationId: get_user_private_solves
responses:
"200":
description: Success
content: {}
/users/{user_id}:
get:
tags:
- users
description: Endpoint to get a specific User object
operationId: get_user_public
parameters:
- name: user_id
in: path
description: User ID
required: true
schema:
type: integer
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
delete:
tags:
- users
description: Endpoint to delete a specific User object
operationId: delete_user_public
parameters:
- name: user_id
in: path
description: User ID
required: true
schema:
type: integer
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
patch:
tags:
- users
description: Endpoint to edit a specific User object
operationId: patch_user_public
parameters:
- name: user_id
in: path
description: User ID
required: true
schema:
type: integer
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailedSuccessResponse'
"400":
description: An error occured processing the provided or stored data
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleErrorResponse'
/users/{user_id}/awards:
get:
tags:
- users
operationId: get_user_public_awards
parameters:
- name: user_id
in: path
description: User ID or 'me'
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/users/{user_id}/email:
post:
tags:
- users
description: Endpoint to email a User object
operationId: post_user_emails
parameters:
- name: user_id
in: path
description: User ID
required: true
schema:
type: integer
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/APISimpleSuccessResponse'
/users/{user_id}/fails:
get:
tags:
- users
operationId: get_user_public_fails
parameters:
- name: user_id
in: path
description: User ID
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
/users/{user_id}/solves:
get:
tags:
- users
operationId: get_user_public_solves
parameters:
- name: user_id
in: path
description: User ID
required: true
schema:
type: string
responses:
"200":
description: Success
content: {}
components:
schemas:
ChallengeDetailedSuccessResponse:
title: ChallengeDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Challenges
required:
- id
type: object
properties:
id:
title: Id
type: integer
name:
title: Name
type: string
description:
title: Description
type: string
connection_info:
title: Connection Info
type: string
next_id:
title: Next Id
type: integer
max_attempts:
title: Max Attempts
type: integer
value:
title: Value
type: integer
category:
title: Category
type: string
type:
title: Type
type: string
state:
title: State
type: string
requirements:
title: Requirements
type: object
properties: {}
solves:
title: Solves
type: integer
solved_by_me:
title: Solved By Me
type: boolean
APISimpleErrorResponse:
title: APISimpleErrorResponse
type: object
properties:
success:
title: Success
type: boolean
default: false
errors:
title: Errors
type: array
items:
type: string
ChallengeListSuccessResponse:
title: ChallengeListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Challenges
required:
- id
type: object
properties:
id:
title: Id
type: integer
name:
title: Name
type: string
description:
title: Description
type: string
connection_info:
title: Connection Info
type: string
next_id:
title: Next Id
type: integer
max_attempts:
title: Max Attempts
type: integer
value:
title: Value
type: integer
category:
title: Category
type: string
type:
title: Type
type: string
state:
title: State
type: string
requirements:
title: Requirements
type: object
properties: {}
solves:
title: Solves
type: integer
solved_by_me:
title: Solved By Me
type: boolean
APISimpleSuccessResponse:
title: APISimpleSuccessResponse
type: object
properties:
success:
title: Success
type: boolean
default: true
TagDetailedSuccessResponse:
title: TagDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Tags
required:
- id
type: object
properties:
id:
title: Id
type: integer
challenge_id:
title: Challenge Id
type: integer
value:
title: Value
type: string
TagListSuccessResponse:
title: TagListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Tags
required:
- id
type: object
properties:
id:
title: Id
type: integer
challenge_id:
title: Challenge Id
type: integer
value:
title: Value
type: string
TopicDetailedSuccessResponse:
title: TopicDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Topics
required:
- id
type: object
properties:
id:
title: Id
type: integer
value:
title: Value
type: string
TopicListSuccessResponse:
title: TopicListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Topics
required:
- id
type: object
properties:
id:
title: Id
type: integer
value:
title: Value
type: string
AwardListSuccessResponse:
title: AwardListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Awards
required:
- id
type: object
properties:
id:
title: Id
type: integer
user_id:
title: User Id
type: integer
team_id:
title: Team Id
type: integer
type:
title: Type
type: string
name:
title: Name
type: string
description:
title: Description
type: string
date:
title: Date
type: string
format: date-time
value:
title: Value
type: integer
category:
title: Category
type: string
icon:
title: Icon
type: string
requirements:
title: Requirements
type: object
properties: {}
AwardDetailedSuccessResponse:
title: AwardDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Awards
required:
- id
type: object
properties:
id:
title: Id
type: integer
user_id:
title: User Id
type: integer
team_id:
title: Team Id
type: integer
type:
title: Type
type: string
name:
title: Name
type: string
description:
title: Description
type: string
date:
title: Date
type: string
format: date-time
value:
title: Value
type: integer
category:
title: Category
type: string
icon:
title: Icon
type: string
requirements:
title: Requirements
type: object
properties: {}
HintDetailedSuccessResponse:
title: HintDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Hints
required:
- id
type: object
properties:
id:
title: Id
type: integer
type:
title: Type
type: string
challenge_id:
title: Challenge Id
type: integer
content:
title: Content
type: string
cost:
title: Cost
type: integer
requirements:
title: Requirements
type: object
properties: {}
HintListSuccessResponse:
title: HintListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Hints
required:
- id
type: object
properties:
id:
title: Id
type: integer
type:
title: Type
type: string
challenge_id:
title: Challenge Id
type: integer
content:
title: Content
type: string
cost:
title: Cost
type: integer
requirements:
title: Requirements
type: object
properties: {}
FlagDetailedSuccessResponse:
title: FlagDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Flags
required:
- id
type: object
properties:
id:
title: Id
type: integer
challenge_id:
title: Challenge Id
type: integer
type:
title: Type
type: string
content:
title: Content
type: string
data:
title: Data
type: string
FlagListSuccessResponse:
title: FlagListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Flags
required:
- id
type: object
properties:
id:
title: Id
type: integer
challenge_id:
title: Challenge Id
type: integer
type:
title: Type
type: string
content:
title: Content
type: string
data:
title: Data
type: string
SubmissionListSuccessResponse:
title: SubmissionListSuccessResponse
required:
- data
- meta
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Submissions
required:
- id
type: object
properties:
id:
title: Id
type: integer
challenge_id:
title: Challenge Id
type: integer
user_id:
title: User Id
type: integer
team_id:
title: Team Id
type: integer
ip:
title: Ip
type: string
provided:
title: Provided
type: string
type:
title: Type
type: string
date:
title: Date
type: string
format: date-time
meta:
title: Meta
required:
- pagination
type: object
properties:
pagination:
title: Pagination
required:
- next
- page
- pages
- per_page
- prev
- total
type: object
properties:
page:
title: Page
type: integer
next:
title: Next
type: integer
prev:
title: Prev
type: integer
pages:
title: Pages
type: integer
per_page:
title: Per Page
type: integer
total:
title: Total
type: integer
SubmissionDetailedSuccessResponse:
title: SubmissionDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Submissions
required:
- id
type: object
properties:
id:
title: Id
type: integer
challenge_id:
title: Challenge Id
type: integer
user_id:
title: User Id
type: integer
team_id:
title: Team Id
type: integer
ip:
title: Ip
type: string
provided:
title: Provided
type: string
type:
title: Type
type: string
date:
title: Date
type: string
format: date-time
TeamDetailedSuccessResponse:
title: TeamDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Teams
required:
- id
type: object
properties:
id:
title: Id
type: integer
oauth_id:
title: Oauth Id
type: integer
name:
title: Name
type: string
email:
title: Email
type: string
password:
title: Password
type: string
secret:
title: Secret
type: string
website:
title: Website
type: string
affiliation:
title: Affiliation
type: string
country:
title: Country
type: string
bracket_id:
title: Bracket Id
type: integer
hidden:
title: Hidden
type: boolean
banned:
title: Banned
type: boolean
captain_id:
title: Captain Id
type: integer
created:
title: Created
type: string
format: date-time
TeamListSuccessResponse:
title: TeamListSuccessResponse
required:
- data
- meta
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Teams
required:
- id
type: object
properties:
id:
title: Id
type: integer
oauth_id:
title: Oauth Id
type: integer
name:
title: Name
type: string
email:
title: Email
type: string
password:
title: Password
type: string
secret:
title: Secret
type: string
website:
title: Website
type: string
affiliation:
title: Affiliation
type: string
country:
title: Country
type: string
bracket_id:
title: Bracket Id
type: integer
hidden:
title: Hidden
type: boolean
banned:
title: Banned
type: boolean
captain_id:
title: Captain Id
type: integer
created:
title: Created
type: string
format: date-time
meta:
title: Meta
required:
- pagination
type: object
properties:
pagination:
title: Pagination
required:
- next
- page
- pages
- per_page
- prev
- total
type: object
properties:
page:
title: Page
type: integer
next:
title: Next
type: integer
prev:
title: Prev
type: integer
pages:
title: Pages
type: integer
per_page:
title: Per Page
type: integer
total:
title: Total
type: integer
UserDetailedSuccessResponse:
title: UserDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Users
required:
- id
type: object
properties:
id:
title: Id
type: integer
oauth_id:
title: Oauth Id
type: integer
name:
title: Name
type: string
password:
title: Password
type: string
email:
title: Email
type: string
type:
title: Type
type: string
secret:
title: Secret
type: string
website:
title: Website
type: string
affiliation:
title: Affiliation
type: string
country:
title: Country
type: string
bracket_id:
title: Bracket Id
type: integer
hidden:
title: Hidden
type: boolean
banned:
title: Banned
type: boolean
verified:
title: Verified
type: boolean
language:
title: Language
type: string
team_id:
title: Team Id
type: integer
created:
title: Created
type: string
format: date-time
UserListSuccessResponse:
title: UserListSuccessResponse
required:
- data
- meta
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Users
required:
- id
type: object
properties:
id:
title: Id
type: integer
oauth_id:
title: Oauth Id
type: integer
name:
title: Name
type: string
password:
title: Password
type: string
email:
title: Email
type: string
type:
title: Type
type: string
secret:
title: Secret
type: string
website:
title: Website
type: string
affiliation:
title: Affiliation
type: string
country:
title: Country
type: string
bracket_id:
title: Bracket Id
type: integer
hidden:
title: Hidden
type: boolean
banned:
title: Banned
type: boolean
verified:
title: Verified
type: boolean
language:
title: Language
type: string
team_id:
title: Team Id
type: integer
created:
title: Created
type: string
format: date-time
meta:
title: Meta
required:
- pagination
type: object
properties:
pagination:
title: Pagination
required:
- next
- page
- pages
- per_page
- prev
- total
type: object
properties:
page:
title: Page
type: integer
next:
title: Next
type: integer
prev:
title: Prev
type: integer
pages:
title: Pages
type: integer
per_page:
title: Per Page
type: integer
total:
title: Total
type: integer
FileDetailedSuccessResponse:
title: FileDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Files
required:
- id
type: object
properties:
id:
title: Id
type: integer
type:
title: Type
type: string
location:
title: Location
type: string
sha1sum:
title: Sha1Sum
type: string
FileListSuccessResponse:
title: FileListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Files
required:
- id
type: object
properties:
id:
title: Id
type: integer
type:
title: Type
type: string
location:
title: Location
type: string
sha1sum:
title: Sha1Sum
type: string
NotificationDetailedSuccessResponse:
title: NotificationDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Notifications
required:
- id
type: object
properties:
id:
title: Id
type: integer
title:
title: Title
type: string
content:
title: Content
type: string
date:
title: Date
type: string
format: date-time
user_id:
title: User Id
type: integer
team_id:
title: Team Id
type: integer
NotificationListSuccessResponse:
title: NotificationListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Notifications
required:
- id
type: object
properties:
id:
title: Id
type: integer
title:
title: Title
type: string
content:
title: Content
type: string
date:
title: Date
type: string
format: date-time
user_id:
title: User Id
type: integer
team_id:
title: Team Id
type: integer
ConfigDetailedSuccessResponse:
title: ConfigDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Configs
required:
- id
type: object
properties:
id:
title: Id
type: integer
key:
title: Key
type: string
value:
title: Value
type: string
ConfigListSuccessResponse:
title: ConfigListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Configs
required:
- id
type: object
properties:
id:
title: Id
type: integer
key:
title: Key
type: string
value:
title: Value
type: string
PageDetailedSuccessResponse:
title: PageDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Pages
required:
- id
type: object
properties:
id:
title: Id
type: integer
title:
title: Title
type: string
route:
title: Route
type: string
content:
title: Content
type: string
draft:
title: Draft
type: boolean
hidden:
title: Hidden
type: boolean
auth_required:
title: Auth Required
type: boolean
format:
title: Format
type: string
link_target:
title: Link Target
type: string
PageListSuccessResponse:
title: PageListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Pages
required:
- id
type: object
properties:
id:
title: Id
type: integer
title:
title: Title
type: string
route:
title: Route
type: string
content:
title: Content
type: string
draft:
title: Draft
type: boolean
hidden:
title: Hidden
type: boolean
auth_required:
title: Auth Required
type: boolean
format:
title: Format
type: string
link_target:
title: Link Target
type: string
UnlockDetailedSuccessResponse:
title: UnlockDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Unlocks
required:
- id
type: object
properties:
id:
title: Id
type: integer
user_id:
title: User Id
type: integer
team_id:
title: Team Id
type: integer
target:
title: Target
type: integer
date:
title: Date
type: string
format: date-time
type:
title: Type
type: string
UnlockListSuccessResponse:
title: UnlockListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Unlocks
required:
- id
type: object
properties:
id:
title: Id
type: integer
user_id:
title: User Id
type: integer
team_id:
title: Team Id
type: integer
target:
title: Target
type: integer
date:
title: Date
type: string
format: date-time
type:
title: Type
type: string
TokenDetailedSuccessResponse:
title: TokenDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Tokens
required:
- id
type: object
properties:
id:
title: Id
type: integer
type:
title: Type
type: string
user_id:
title: User Id
type: integer
created:
title: Created
type: string
format: date-time
expiration:
title: Expiration
type: string
format: date-time
description:
title: Description
type: string
value:
title: Value
type: string
TokenListSuccessResponse:
title: TokenListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Tokens
required:
- id
type: object
properties:
id:
title: Id
type: integer
type:
title: Type
type: string
user_id:
title: User Id
type: integer
created:
title: Created
type: string
format: date-time
expiration:
title: Expiration
type: string
format: date-time
description:
title: Description
type: string
value:
title: Value
type: string
ValuelessTokenDetailedSuccessResponse:
title: ValuelessTokenDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Tokens
required:
- id
type: object
properties:
id:
title: Id
type: integer
type:
title: Type
type: string
user_id:
title: User Id
type: integer
created:
title: Created
type: string
format: date-time
expiration:
title: Expiration
type: string
format: date-time
description:
title: Description
type: string
CommentDetailedSuccessResponse:
title: CommentDetailedSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Comments
required:
- id
type: object
properties:
id:
title: Id
type: integer
type:
title: Type
type: string
content:
title: Content
type: string
date:
title: Date
type: string
format: date-time
author_id:
title: Author Id
type: integer
CommentListSuccessResponse:
title: CommentListSuccessResponse
required:
- data
type: object
properties:
success:
title: Success
type: boolean
default: true
data:
title: Data
type: array
items:
title: Comments
required:
- id
type: object
properties:
id:
title: Id
type: integer
type:
title: Type
type: string
content:
title: Content
type: string
date:
title: Date
type: string
format: date-time
author_id:
title: Author Id
type: integer
responses:
ParseError:
description: When a mask can't be parsed
content: {}
MaskError:
description: When any error occurs on mask
content: {}
securitySchemes:
AccessToken:
type: apiKey
description: Generate access token in the settings page of your user account.
name: Authorization
in: header
ContentType:
type: apiKey
description: Must be set to `application/json`
name: Content-Type
in: header
x-original-swagger-version: "2.0"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment