openapi: 3.1.0 info: title: Tournament activity problem API description: CrunchDAO Tournament Platform API Endpoints version: v2 servers: - url: http://api.hub.crunchdao.com description: Generated server url security: [] tags: - name: problem paths: /v2/problems: x-service-id: account-service get: tags: - problem summary: List problems of a user. operationId: list parameters: - name: resolved in: query required: false style: form explode: true schema: type: boolean responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Problem' security: - accessToken: [] - apiKey: [] put: tags: - problem summary: Create a problem for a user. operationId: create requestBody: content: application/json: schema: $ref: '#/components/schemas/ProblemCreateForm' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Problem' security: - accessToken: [] - apiKey: [] /v2/problems/{problemId}/resolve: x-service-id: account-service post: tags: - problem summary: Resolve a problem. operationId: resolve parameters: - name: problemId in: path required: true style: simple explode: false schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ProblemResolveForm' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Problem' /v2/problems/{problemId}: x-service-id: account-service get: tags: - problem summary: Show a problem. operationId: show_3 parameters: - name: problemId in: path required: true style: simple explode: false schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Problem' delete: tags: - problem summary: Delete a problem. operationId: delete parameters: - name: problemId in: path required: true style: simple explode: false schema: type: string format: uuid responses: '202': description: Accepted security: - accessToken: [] - apiKey: [] components: schemas: ProblemResolveForm: type: object properties: recaptchaResponse: type: string ProblemCreateForm: type: object properties: userId: type: integer format: int64 reason: type: string maxLength: 1000 minLength: 0 required: - reason Problem: type: object properties: id: type: string format: uuid user: $ref: '#/components/schemas/User' reason: type: string resolved: type: boolean resolvedAt: type: string format: date-time createdAt: type: string format: date-time User: type: object properties: id: type: integer format: int64 login: type: string securitySchemes: apiKey: type: apiKey name: apiKey in: query scheme: token accessToken: type: http in: header scheme: Bearer externalDocs: description: docs.crunchdao.com url: https://docs.crunchdao.com