openapi: 3.0.3 info: title: Competition API version: 0.0.6-dev description: A fictional API for ApiBuilder tool features testing. servers: - url: competition-api.product-domain.com paths: /competitions: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/NamespaceModelsCompetition' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/NamespaceModelsCompetition' /competitions/{id}: get: parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/NamespaceModelsCompetition' /competitors: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/NamespaceModelsCompetitor' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/NamespaceModelsCompetitor' /competitors/{id}: get: parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/NamespaceModelsCompetitor' components: schemas: NamespaceModelsCompetition: description: A competition is a race game for the competitors to collect more vote points. type: object required: - guid - name - status - start_at - end_at - created_at - updated_at properties: guid: description: Internal unique identifier for this competition. type: string format: uuid name: type: string status: $ref: '#/components/schemas/NamespaceEnumsCompetitionStatus' start_at: type: string format: date-time end_at: type: string format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time NamespaceModelsCompetitionParticipant: description: The competition participant is a competitor who is playing in a specific competition and he/she be able to win that. type: object required: - guid - competition_id - competitor_id properties: guid: description: Internal unique identifier for this competition_participant. type: string format: uuid competition_id: type: string format: uuid competitor_id: type: string format: uuid NamespaceModelsVoter: description: The voter can vote for competition_participant. type: object required: - guid - name - asdf properties: guid: description: Internal unique identifier for this voter. type: string format: uuid name: type: string asdf: type: string NamespaceModelsVote: description: The vote is created by voter and it concern for a competition_participant type: object required: - guid - competition_participant_id - voter_id - type - points properties: guid: description: Internal unique identifier for this voter. type: string format: uuid competition_participant_id: type: string format: uuid voter_id: type: string format: uuid type: type: string points: type: integer format: int32 NamespaceModelsCompetitor: description: The competitor can who can participate in a competition. type: object required: - guid - name properties: guid: description: Internal unique identifier for this competitor. type: string format: uuid name: type: string NamespaceEnumsAppSortBy: type: string enum: - name - created_at - updated_at - competition_status NamespaceEnumsCompetitionStatus: description: The actual status of the competition. type: string enum: - pending - active - closed NamespaceEnumsSortOrder: type: string enum: - asc - desc NamespaceEnumsVoteType: description: The actual status of the competition. type: string enum: - basic - premium