Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Docs
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Registry
Registry
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Competify
Docs
Commits
26f09f93
Commit
26f09f93
authored
May 04, 2018
by
Gabriel Macena
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[API] Adiciona arquivo da api de Admin
parent
cf543a25
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1741 additions
and
0 deletions
+1741
-0
Admin.openapi.yaml
Api/Admin.openapi.yaml
+1741
-0
No files found.
Api/Admin.openapi.yaml
0 → 100644
View file @
26f09f93
openapi
:
3.0.0
info
:
title
:
Competition Admin API
description
:
Competition Admin API
version
:
0.1.0
paths
:
/competifiers
:
get
:
summary
:
Retrieves all Competifiers for this competition
description
:
Retrieves all Competifiers for this competition.
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
oneOf
:
-
$ref
:
'
#/components/schemas/SoloCompetifier'
-
$ref
:
'
#/components/schemas/TeamCompetifier'
post
:
summary
:
Creates a new Competifier for the competition
description
:
Creates a new Competifier for the competition.
requestBody
:
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/SoloCompetifier'
-
$ref
:
'
#/components/schemas/TeamCompetifier'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/SoloCompetifier'
-
$ref
:
'
#/components/schemas/TeamCompetifier'
/exams
:
get
:
tags
:
-
exams
summary
:
Retrieves all Exams for this competition
description
:
Retrieves all Exams for this competition.
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Exam'
post
:
tags
:
-
exams
summary
:
Creates a new Exam for the competition
description
:
Creates a new Exam for the competition.
requestBody
:
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Exam'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Exam'
/exams/{examId}
:
get
:
tags
:
-
exams
summary
:
Retrieves the specified Exam
description
:
Retrieves the specified Exam.
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Exam'
patch
:
tags
:
-
exams
summary
:
Updates the specified Exam
description
:
Updates the specified Exam.
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Exam'
parameters
:
-
name
:
examId
in
:
path
description
:
The unique identifier of the Exam.
required
:
true
schema
:
format
:
int32
type
:
integer
'
/exams/{examId}/questions'
:
get
:
tags
:
-
exams
summary
:
Retrieves all Questions for the specified Exam
description
:
Retrieves all Questions for the specified Exam.
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
oneOf
:
-
$ref
:
'
#/components/schemas/ObjectiveQuestion'
-
$ref
:
'
#/components/schemas/SubjectiveQuestion'
post
:
tags
:
-
exams
summary
:
Creates a new Question for the specified Exam
description
:
Creates a new Question for the specified Exam.
requestBody
:
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/ObjectiveQuestion'
-
$ref
:
'
#/components/schemas/SubjectiveQuestion'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/ObjectiveQuestion'
-
$ref
:
'
#/components/schemas/SubjectiveQuestion'
parameters
:
-
name
:
examId
in
:
path
description
:
The unique identifier of the Exam.
required
:
true
schema
:
format
:
int32
type
:
integer
'
/exams/{examId}/questions/{questionId}'
:
get
:
tags
:
-
exams
summary
:
Retrieves the specified Question
description
:
Retrieves the specified Question of the Exam.
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/ObjectiveQuestion'
-
$ref
:
'
#/components/schemas/SubjectiveQuestion'
patch
:
tags
:
-
exams
summary
:
Updates the specific Question
description
:
Updates the specific Question of the Exam.
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/ObjectiveQuestion'
-
$ref
:
'
#/components/schemas/SubjectiveQuestion'
parameters
:
-
name
:
examId
in
:
path
description
:
The unique identifier of the Exam.
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
questionId
in
:
path
description
:
The unique identifier of the Question.
required
:
true
schema
:
format
:
int32
type
:
integer
/subscription/applicants
:
get
:
tags
:
-
subscription
summary
:
Retrieves all applicants for this competition
description
:
Retrieves all applicants for this competition.
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Subscription'
post
:
tags
:
-
subscription
summary
:
Creates an application for the competition
description
:
Creates a new application for the competition.
requestBody
:
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/SoloSubscription'
-
$ref
:
'
#/components/schemas/TeamSubscription'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/SoloSubscription'
-
$ref
:
'
#/components/schemas/TeamSubscription'
patch
:
tags
:
-
subscription
summary
:
Updates multiple Applications
description
:
Updates multiple Applications.
requestBody
:
content
:
application/json-schema+json
:
schema
:
type
:
array
items
:
oneOf
:
-
$ref
:
'
#/components/schemas/SoloSubscription'
-
$ref
:
'
#/components/schemas/TeamSubscription'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
oneOf
:
-
$ref
:
'
#/components/schemas/SoloSubscription'
-
$ref
:
'
#/components/schemas/TeamSubscription'
'
/subscription/applicants/{applicantId}'
:
get
:
tags
:
-
subscription
summary
:
Retrieves a specific subscription
description
:
Retrieves a subscription with the given id.
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/SoloSubscription'
-
$ref
:
'
#/components/schemas/TeamSubscription'
parameters
:
-
name
:
applicantId
in
:
path
description
:
The unique identifier of the application.
required
:
true
schema
:
format
:
int32
type
:
integer
patch
:
tags
:
-
subscription
summary
:
Updates the status of a specific application
description
:
'
Updates
a
subscription
with
the
given
id,
setting
a
new
status.'
requestBody
:
content
:
application/json-patch+json
:
schema
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/SoloSubscription'
-
$ref
:
'
#/components/schemas/TeamSubscription'
/subscription
:
get
:
tags
:
-
config
summary
:
Retrieves the subscription rule
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/SubscriptionRule'
patch
:
tags
:
-
config
summary
:
Updates the subscription rule
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/SubscriptionRule'
/subscription/template
:
get
:
tags
:
-
config
summary
:
Retrieves all form templates
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/FormTemplate'
/subscription/template/team
:
get
:
tags
:
-
config
summary
:
Retrieves the team form template
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/FormTemplate'
patch
:
tags
:
-
config
summary
:
Updates the team form template
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/FormTemplate'
/subscription/template/participant
:
get
:
tags
:
-
config
summary
:
Retrieves the participant form template
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/FormTemplate'
patch
:
tags
:
-
config
summary
:
Updates the participant form template
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/FormTemplate'
/phases
:
get
:
tags
:
-
phases
summary
:
Retrieves all phases for the competition
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Phase'
post
:
tags
:
-
phases
summary
:
Creates a new phase for the competition
requestBody
:
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Phase'
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Phase'
patch
:
tags
:
-
phases
summary
:
Updates the phases of this competition
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Phase'
'
/phases/{phaseId}'
:
get
:
tags
:
-
phases
summary
:
Retrieves a specific phase of this competition
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Phase'
patch
:
tags
:
-
phases
summary
:
Updates a specific phase of this competition
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Phase'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/rankings'
:
get
:
tags
:
-
phases
summary
:
Retrieves all Rankings for the Phase
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Ranking'
post
:
tags
:
-
phases
summary
:
Creates a new Ranking for the Phase
requestBody
:
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Ranking'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Ranking'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/rankings/{rankingId}'
:
get
:
tags
:
-
phases
summary
:
Retrieves the specific Ranking
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Ranking'
patch
:
tags
:
-
phases
summary
:
Updates the specific Ranking
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Ranking'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
rankingId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/participations'
:
get
:
tags
:
-
phases
summary
:
Retrieves all Participations for the Phase
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/PhaseParticipation'
post
:
tags
:
-
phases
summary
:
Creates a new Participation for the Phase
requestBody
:
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/PhaseParticipation'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/PhaseParticipation'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/participations/{participationId}'
:
get
:
tags
:
-
phases
summary
:
Retrieves the specific Participation
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/PhaseParticipation'
patch
:
tags
:
-
phases
summary
:
Updates the specific Participation
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/PhaseParticipation'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
participationId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/events'
:
get
:
tags
:
-
phases
summary
:
Retrieves all Events for the Phase
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/PhaseEvent'
post
:
tags
:
-
phases
summary
:
Creates a new Event for the Phase
requestBody
:
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/PhaseEvent'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/PhaseEvent'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/events/{eventId}'
:
get
:
tags
:
-
phases
summary
:
Retrieves the specific Event
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/PhaseEvent'
patch
:
tags
:
-
phases
summary
:
Updates the specific Event
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/PhaseEvent'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
eventId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/assessments'
:
get
:
tags
:
-
phases
summary
:
Retrieves all assessments
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
type
:
array
items
:
oneOf
:
-
$ref
:
'
#/components/schemas/HandmadeAssessment'
-
$ref
:
'
#/components/schemas/VirtualAssessment'
post
:
tags
:
-
phases
summary
:
Creates a new assessment
requestBody
:
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/HandmadeAssessment'
-
$ref
:
'
#/components/schemas/VirtualAssessment'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/HandmadeAssessment'
-
$ref
:
'
#/components/schemas/VirtualAssessment'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/assessments/{assessmentId}'
:
get
:
tags
:
-
phases
summary
:
Retrieves the specific assessment
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/HandmadeAssessment'
-
$ref
:
'
#/components/schemas/VirtualAssessment'
patch
:
tags
:
-
phases
summary
:
Updates the specific assessment
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/HandmadeAssessment'
-
$ref
:
'
#/components/schemas/VirtualAssessment'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
assessmentId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/assessments/{assessmentId}/questions'
:
get
:
tags
:
-
phases
summary
:
Retrieves all Questions of a specific Assessment
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Question'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
assessmentId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/assessments/{assessmentId}/questions/{questionId}'
:
get
:
tags
:
-
phases
summary
:
Retrieves the specific Question
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Question'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
assessmentId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
questionId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/assessments/{assessmentId}/submissions'
:
get
:
tags
:
-
phases
summary
:
Retrieves all submissions
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/HandmadeAssessmentSubmission'
-
$ref
:
'
#/components/schemas/VirtualAssessmentSubmission'
post
:
tags
:
-
phases
summary
:
Creates a new submission
requestBody
:
content
:
application/json-patch+json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/HandmadeAssessmentSubmission'
-
$ref
:
'
#/components/schemas/VirtualAssessmentSubmission'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/HandmadeAssessmentSubmission'
-
$ref
:
'
#/components/schemas/VirtualAssessmentSubmission'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
assessmentId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/assessments/{assessmentId}/submissions/{submissionId}'
:
get
:
tags
:
-
phases
summary
:
Retrieves the specific submission
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/HandmadeAssessmentSubmission'
-
$ref
:
'
#/components/schemas/VirtualAssessmentSubmission'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
assessmentId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
-
name
:
submissionId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/evaluation'
:
get
:
tags
:
-
phases
summary
:
Retrieves the evaluation method for the specified phase
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/EvaluationRule'
patch
:
tags
:
-
phases
summary
:
Updates the evaluation method for the specified phase
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/EvaluationRule'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
'
/phases/{phaseId}/classification'
:
get
:
tags
:
-
phases
summary
:
Retrieves the classification method for the specified phase
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/MinimumPerformance'
-
$ref
:
'
#/components/schemas/BestRanked'
patch
:
tags
:
-
phases
summary
:
Updates the classification method for the specified phase
requestBody
:
content
:
application/json-patch+json
:
schema
:
type
:
array
items
:
$ref
:
'
#/components/schemas/JsonPatch'
required
:
true
responses
:
'
200'
:
description
:
'
'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/MinimumPerformance'
-
$ref
:
'
#/components/schemas/BestRanked'
parameters
:
-
name
:
phaseId
in
:
path
required
:
true
schema
:
format
:
int32
type
:
integer
components
:
schemas
:
FormAnswer
:
title
:
Root Type for FormAnswer
description
:
The root of the FormAnswer type's schema.
required
:
-
field
-
value
type
:
object
properties
:
field
:
format
:
int32
type
:
integer
value
:
type
:
string
id
:
format
:
int32
type
:
integer
FormSection
:
title
:
Root Type for FormSection
description
:
The root of the FormSection type's schema.
required
:
-
answers
-
template
-
type
type
:
object
properties
:
template
:
format
:
int32
type
:
integer
answers
:
type
:
array
items
:
$ref
:
'
#/components/schemas/FormAnswer'
id
:
format
:
int32
type
:
integer
type
:
format
:
int32
type
:
integer
SoloSubscription
:
allOf
:
-
$ref
:
'
#/components/schemas/Subscription'
-
type
:
object
properties
:
participant
:
$ref
:
'
#/components/schemas/FormSection'
TeamSubscription
:
allOf
:
-
$ref
:
'
#/components/schemas/Subscription'
-
type
:
object
properties
:
team
:
$ref
:
'
#/components/schemas/FormSection'
members
:
$ref
:
'
#/components/schemas/FormSection'
leader
:
$ref
:
'
#/components/schemas/FormSection'
Subscription
:
required
:
-
status
-
timestamp
-
type
type
:
object
properties
:
timestamp
:
format
:
int64
type
:
integer
status
:
format
:
int32
description
:
'
{WAITING_REVIEW,
ACCEPTED,
REJECTED}'
type
:
integer
id
:
format
:
int32
type
:
integer
type
:
format
:
int32
description
:
'
{TEAM,
SOLO}'
type
:
integer
discriminator
:
propertyName
:
type
mapping
:
'
0'
:
'
#/components/schemas/TeamSubscription'
'
1'
:
'
#/components/schemas/SoloSubscription'
JsonPatch
:
required
:
-
op
-
path
type
:
object
properties
:
op
:
description
:
>-
The PATCH operation to be performed. Available operations: "add",
"remove", "move", "copy", "replace", "test"
type: string
path
:
description
:
The target location in the JSON
type
:
string
value
:
description
:
The new value to be added or to replace the old value at the target
from
:
description
:
The source to be copied/moved
type
:
string
FormTemplate
:
required
:
-
fields
-
type
properties
:
type
:
format
:
int32
type
:
integer
fields
:
type
:
array
items
:
$ref
:
'
#/components/schemas/FormField'
id
:
format
:
int32
type
:
integer
FormField
:
required
:
-
label
-
required
-
type
-
unique
properties
:
label
:
type
:
string
type
:
format
:
int32
type
:
integer
unique
:
type
:
boolean
required
:
type
:
boolean
id
:
format
:
int32
type
:
integer
SubscriptionRule
:
required
:
-
type
-
status
properties
:
type
:
format
:
int32
description
:
'
{SOLO,
TEAM}'
type
:
integer
status
:
format
:
int32
description
:
'
{PREP,
OPEN,
CLOSED}'
type
:
integer
id
:
format
:
int32
type
:
integer
minMembers
:
type
:
integer
maxMembers
:
type
:
integer
Competition
:
required
:
-
subscriptionConf
-
name
-
id
properties
:
name
:
type
:
string
id
:
format
:
int32
type
:
integer
subscriptionConf
:
$ref
:
'
#/components/schemas/SubscriptionRule'
Phase
:
required
:
-
label
-
type
-
status
properties
:
label
:
type
:
string
order
:
type
:
integer
type
:
format
:
int32
type
:
integer
status
:
format
:
int32
type
:
integer
id
:
format
:
int32
type
:
integer
events
:
type
:
array
items
:
$ref
:
'
#/components/schemas/PhaseEvent'
participations
:
type
:
array
items
:
$ref
:
'
#/components/schemas/PhaseParticipation'
PhaseEvent
:
required
:
-
type
-
timestamp
-
descr
properties
:
timestamp
:
type
:
integer
format
:
int64
descr
:
type
:
string
type
:
format
:
int32
description
:
'
{PHASE_CREATED,
PHASE_STARTED,
EVALUATION_FORMULA_UPDATED,
RANKING_EVALUATED,
PHASE_CLOSED}'
type
:
integer
PhaseParticipation
:
properties
:
rank
:
$ref
:
'
#/components/schemas/Rank'
phase
:
$ref
:
'
#/components/schemas/Phase'
BestRanked
:
required
:
-
tieBreakCriterias
-
number
allOf
:
-
$ref
:
'
#/components/schemas/ClassificationRule'
-
type
:
object
properties
:
number
:
type
:
integer
tieBreakCriterias
:
type
:
array
items
:
$ref
:
'
#/components/schemas/TieBreakCriteria'
MinimumPerformance
:
required
:
-
cutOffMark
allOf
:
-
$ref
:
'
#/components/schemas/ClassificationRule'
-
type
:
object
properties
:
cutOffMark
:
type
:
number
ClassificationRule
:
required
:
-
type
properties
:
oid
:
format
:
int32
type
:
integer
type
:
format
:
int32
description
:
'
{BEST_RANKED,
MINIMUM_PERFORMANCE}'
type
:
integer
discriminator
:
propertyName
:
type
mapping
:
'
0'
:
'
#/components/schemas/BestRanked'
'
1'
:
'
#/components/schemas/MinimumPerformance'
EvaluationRule
:
required
:
-
expression
properties
:
oid
:
format
:
int32
type
:
integer
expression
:
type
:
string
TieBreakCriteria
:
required
:
-
type
properties
:
oid
:
format
:
int32
type
:
integer
type
:
format
:
int32
type
:
integer
ScheduledEvent
:
required
:
-
oid
-
startsAt
-
endsAt
properties
:
oid
:
description
:
The object identification
type
:
integer
startsAt
:
format
:
date-time
description
:
The time of the begining of the assessment
type
:
string
endsAt
:
format
:
date-time
description
:
The time of the ending of the assessment
type
:
string
Assessment
:
required
:
-
status
-
type
-
oid
-
resultAvailable
-
answerKeyAvailable
-
locationType
-
exam
-
schedule
properties
:
status
:
description
:
'
[PREP,
SUBMISSION,
EVALUATION]'
type
:
integer
type
:
description
:
'
[VIRTUAL,
HANDMADE]'
type
:
integer
schedule
:
$ref
:
'
#/components/schemas/ScheduledEvent'
location
:
description
:
Why the fuck is this a string?
type
:
string
exam
:
$ref
:
'
#/components/schemas/Exam'
oid
:
description
:
Object identifier
type
:
integer
locationType
:
type
:
integer
description
:
'
[ONLINE,
ON_SITE]'
resultAvailable
:
description
:
Boolean indicating if the result is already avialable to exhibition
type
:
boolean
answerKeyAvailable
:
description
:
Boolean indicating if the answerKey is already available to exhibition
type
:
boolean
discriminator
:
propertyName
:
type
mapping
:
0
:
'
#/components/schemas/VirtualAssessment'
1
:
'
#/components/schemas/HandmadeAssessment'
VirtualAssessment
:
required
:
-
enforceSequence
allOf
:
-
$ref
:
'
#/components/schemas/Assessment'
-
type
:
object
properties
:
enforceSequence
:
type
:
boolean
description
:
Boolean indicating if the assessment must be done in order
HandmadeAssessment
:
required
:
-
submitterType
allOf
:
-
$ref
:
'
#/components/schemas/Assessment'
-
type
:
object
properties
:
submitterType
:
type
:
integer
description
:
'
[ADMIN,
ADMIN_OR_COMPETIFIER]'
QuestionGroup
:
required
:
-
oid
-
label
-
weight
properties
:
oid
:
type
:
integer
label
:
type
:
string
weight
:
format
:
float
type
:
number
QuestionStatement
:
required
:
-
oid
-
content
properties
:
oid
:
type
:
integer
content
:
type
:
string
Question
:
required
:
-
type
-
oid
-
group
-
order
-
weight
-
status
properties
:
type
:
description
:
Inheritance type identifcation
type
:
integer
statement
:
$ref
:
'
#/components/schemas/QuestionStatement'
oid
:
description
:
object identifier of this Question
type
:
integer
group
:
description
:
Group for which this given Question belongs in this Exam
type
:
integer
order
:
description
:
Position of this Question in this Exam
type
:
integer
weight
:
format
:
float
description
:
Weight associated with this Question
type
:
number
status
:
description
:
'
{ACTIVE,
CANCELED}'
type
:
integer
discriminator
:
propertyName
:
type
mapping
:
0
:
'
#/components/schemas/SubjectiveQuestion'
1
:
'
#/components/schemas/ObjectiveQuestion'
SubjectiveQuestion
:
allOf
:
-
$ref
:
'
#/components/schemas/Question'
-
type
:
object
properties
:
answerKey
:
format
:
string
type
:
string
ObjectiveQuestion
:
allOf
:
-
$ref
:
'
#/components/schemas/Question'
-
type
:
object
properties
:
alternatives
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Alternative'
answerKey
:
type
:
integer
ExamCover
:
required
:
-
content
-
oid
properties
:
content
:
type
:
string
oid
:
type
:
integer
Exam
:
required
:
-
type
-
title
-
groups
-
questions
-
oid
properties
:
type
:
description
:
'
{SUBJECTIVE,
OBJECTIVE}'
type
:
integer
title
:
type
:
string
cover
:
$ref
:
'
#/components/schemas/ExamCover'
groups
:
type
:
array
items
:
$ref
:
'
#/components/schemas/QuestionGroup'
questions
:
type
:
array
items
:
oneOf
:
-
$ref
:
'
#/components/schemas/SubjectiveQuestion'
-
$ref
:
'
#/components/schemas/ObjectiveQuestion'
oid
:
description
:
Object identifier
type
:
integer
Alternative
:
required
:
-
order
-
statement
-
oid
properties
:
order
:
title
:
order
description
:
position of this alternative to it's question
type
:
integer
statement
:
description
:
the alternative statement
type
:
string
oid
:
description
:
Object identifier
type
:
integer
AssessmentSubmission
:
properties
:
assessment
:
description
:
The oid assessment that this submission refers to
type
:
integer
type
:
description
:
'
{VIRTUAL,
HANDMADE}'
type
:
integer
lastUpdate
:
format
:
date-time
description
:
Last time this submission was modified
type
:
string
competifier
:
oneOf
:
-
$ref
:
'
#/components/schemas/SoloCompetifier'
-
$ref
:
'
#/components/schemas/TeamCompetifier'
discriminator
:
propertyName
:
type
HandmadeAssessmentSubmission
:
allOf
:
-
$ref
:
'
#/components/schemas/AssessmentSubmission'
-
type
:
object
properties
:
loadUri
:
type
:
string
VirtualAssessmentSubmission
:
allOf
:
-
$ref
:
'
#/components/schemas/AssessmentSubmission'
-
type
:
object
properties
:
startedAt
:
type
:
string
format
:
date-time
finishedAt
:
type
:
string
format
:
date-time
answers
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Answer'
Answer
:
properties
:
type
:
type
:
integer
freeText
:
type
:
string
choice
:
type
:
integer
question
:
type
:
integer
AssessmentSubmissionEvaluation
:
properties
:
timestamp
:
type
:
integer
grades
:
type
:
array
items
:
$ref
:
'
#/components/schemas/AnswerGrade'
AnswerGrade
:
properties
:
grade
:
format
:
float
type
:
number
question
:
$ref
:
'
#/components/schemas/Question'
CompetifierEvent
:
required
:
-
timestamp
-
descr
-
type
properties
:
timestamp
:
type
:
integer
format
:
int64
descr
:
type
:
string
type
:
description
:
'
'
type
:
integer
enum
:
-
0
-
1
discriminator
:
propertyName
:
type
Competifier
:
properties
:
tags
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Tag'
type
:
description
:
'
[SOLO,
TEAM]'
type
:
integer
enum
:
-
0
-
1
events
:
type
:
array
items
:
$ref
:
'
#/components/schemas/CompetifierEvent'
discriminator
:
propertyName
:
type
SoloCompetifier
:
allOf
:
-
$ref
:
'
#/components/schemas/Competifier'
-
type
:
object
properties
:
firstName
:
type
:
string
lastName
:
type
:
string
TeamCompetifier
:
allOf
:
-
$ref
:
'
#/components/schemas/Competifier'
-
type
:
object
properties
:
name
:
type
:
string
leader
:
$ref
:
'
#/components/schemas/Participant'
participants
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Participant'
Tag
:
properties
:
label
:
type
:
string
value
:
type
:
string
Participant
:
properties
:
firstName
:
type
:
string
lastName
:
type
:
string
tags
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Tag'
Ranking
:
required
:
-
timestamp
-
evaluationRule
properties
:
timestamp
:
type
:
integer
format
:
int64
qualified
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Rank'
evaluationRule
:
$ref
:
'
#/components/schemas/EvaluationRule'
positions
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Rank'
Rank
:
required
:
-
position
-
grade
-
status
properties
:
position
:
type
:
integer
grade
:
type
:
number
status
:
description
:
'
[QUALIFIED,
DISQUALIFIED]'
type
:
integer
assessmentEvaluations
:
type
:
array
items
:
$ref
:
'
#/components/schemas/AssessmentSubmissionEvaluation'
tags
:
-
name
:
config
description
:
'
'
-
name
:
subscription
description
:
'
'
-
name
:
phases
description
:
'
'
-
name
:
exams
description
:
'
'
-
name
:
site
description
:
'
'
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment