Created
July 20, 2024 20:43
-
-
Save kpostekk/c53ccdf8e1209008a50795c27d4f199e to your computer and use it in GitHub Desktop.
OpenApi 3.x.x definitions for CTFd. With enums.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | |
| 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