From b00966d59ec3d26981bc877236d788f8965de719 Mon Sep 17 00:00:00 2001 From: Loris Sauter Date: Tue, 3 Oct 2023 10:27:46 +0200 Subject: [PATCH] Minor cleanup, including fixing openapi validation error --- .../main/kotlin/dev/dres/api/rest/RestApi.kt | 8 +- .../handler/preview/PreviewImageHandler.kt | 8 +- .../preview/PreviewImageTimelessHandler.kt | 52 + .../template/ListTaskTypePresetsHandler.kt | 3 +- .../rest/types/template/tasks/ApiTaskGroup.kt | 2 +- .../rest/types/template/tasks/ApiTaskType.kt | 9 +- .../data/model/template/task/DbTaskGroup.kt | 2 +- .../data/model/template/task/DbTaskType.kt | 1 + doc/oas-client.json | 9 +- doc/oas.json | 13547 ++++++++-------- 10 files changed, 6883 insertions(+), 6758 deletions(-) create mode 100644 backend/src/main/kotlin/dev/dres/api/rest/handler/preview/PreviewImageTimelessHandler.kt diff --git a/backend/src/main/kotlin/dev/dres/api/rest/RestApi.kt b/backend/src/main/kotlin/dev/dres/api/rest/RestApi.kt index 2fc822bb8..aac696567 100644 --- a/backend/src/main/kotlin/dev/dres/api/rest/RestApi.kt +++ b/backend/src/main/kotlin/dev/dres/api/rest/RestApi.kt @@ -18,11 +18,8 @@ import dev.dres.api.rest.handler.evaluation.viewer.* import dev.dres.api.rest.handler.judgement.* import dev.dres.api.rest.handler.log.QueryLogHandler import dev.dres.api.rest.handler.log.ResultLogHandler -import dev.dres.api.rest.handler.preview.GetExternalMediaHandler +import dev.dres.api.rest.handler.preview.* import dev.dres.api.rest.handler.template.* -import dev.dres.api.rest.handler.preview.GetMediaHandler -import dev.dres.api.rest.handler.preview.PreviewImageHandler -import dev.dres.api.rest.handler.preview.PreviewVideoHandler import dev.dres.api.rest.handler.scores.ListEvaluationScoreHandler import dev.dres.api.rest.handler.submission.LegacySubmissionHandler import dev.dres.api.rest.handler.submission.SubmissionHandler @@ -104,7 +101,8 @@ object RestApi { UserDetailsHandler(), // Media - PreviewImageHandler(store, cache), + PreviewImageHandler(store, cache), /* [PreviewImageHandler] vs [PreviewImageTimelessHandler]: Optional path parameters are not allowed in OpenApi. [PreviewImageHandler] has timestamp as path parameter and must be initialised first */ + PreviewImageTimelessHandler(store,cache), /* [PreviewImageHandler] vs [PreviewImageTimelessHandler]: Optional path parameters are not allowed in OpenApi */ PreviewVideoHandler(store, cache), GetExternalMediaHandler(), // Must be registered before GetMediaHandler, as route is similar GetMediaHandler(store), diff --git a/backend/src/main/kotlin/dev/dres/api/rest/handler/preview/PreviewImageHandler.kt b/backend/src/main/kotlin/dev/dres/api/rest/handler/preview/PreviewImageHandler.kt index be3d6d0e1..085aa9046 100644 --- a/backend/src/main/kotlin/dev/dres/api/rest/handler/preview/PreviewImageHandler.kt +++ b/backend/src/main/kotlin/dev/dres/api/rest/handler/preview/PreviewImageHandler.kt @@ -13,8 +13,10 @@ import kotlinx.dnq.query.query /** * A general purpose, [AbstractPreviewHandler] that handles image previews for different [DbMediaItem]. * - * @author Ralph Gasser - * @version 1.0.0 + * [PreviewImageHandler] vs [PreviewImageTimelessHandler]: Optional path parameters are not allowed in OpenApi. + * + * @author Ralph Gasser and Loris Sauter + * @version 1.1.0 */ class PreviewImageHandler(store: TransientEntityStore, cache: CacheManager) : AbstractPreviewHandler(store, cache) { @@ -25,7 +27,7 @@ class PreviewImageHandler(store: TransientEntityStore, cache: CacheManager) : Ab operationId = OpenApiOperation.AUTO_GENERATE, pathParams = [ OpenApiParam("mediaItemId", String::class, "Unique ID of the media item.", required = true, allowEmptyValue = false), - OpenApiParam("timestamp", Long::class, "Time into the video in milliseconds (for videos only).", required = false, allowEmptyValue = false) + OpenApiParam("timestamp", Long::class, "Time into the video in milliseconds (for videos only).", required = true, allowEmptyValue = false) ], tags = ["Media"], responses = [ diff --git a/backend/src/main/kotlin/dev/dres/api/rest/handler/preview/PreviewImageTimelessHandler.kt b/backend/src/main/kotlin/dev/dres/api/rest/handler/preview/PreviewImageTimelessHandler.kt new file mode 100644 index 000000000..3bd5c4f59 --- /dev/null +++ b/backend/src/main/kotlin/dev/dres/api/rest/handler/preview/PreviewImageTimelessHandler.kt @@ -0,0 +1,52 @@ +package dev.dres.api.rest.handler.preview + +import dev.dres.api.rest.types.status.ErrorStatusException +import dev.dres.data.model.media.DbMediaItem +import dev.dres.mgmt.cache.CacheManager +import io.javalin.http.Context +import io.javalin.openapi.* +import jetbrains.exodus.database.TransientEntityStore +import kotlinx.dnq.query.eq +import kotlinx.dnq.query.firstOrNull +import kotlinx.dnq.query.query + +/** + * A general purpose, [AbstractPreviewHandler] that handles image previews for different [DbMediaItem]. + * + * [PreviewImageHandler] vs [PreviewImageTimelessHandler]: Optional path parameters are not allowed in OpenApi. + * + * @author Ralph Gasser and Loris Sauter + * @version 1.1.0 + */ +class PreviewImageTimelessHandler(store: TransientEntityStore, cache: CacheManager) : AbstractPreviewHandler(store, cache) { + + override val route: String = "preview/{mediaItemId}" + @OpenApi( + summary = "Returns a preview image from a media item.", + path = "/api/v2/preview/{mediaItemId}", + operationId = OpenApiOperation.AUTO_GENERATE, + pathParams = [ + OpenApiParam("mediaItemId", String::class, "Unique ID of the media item.", required = true, allowEmptyValue = false), + ], + tags = ["Media"], + responses = [ + OpenApiResponse("200", [OpenApiContent(type = "image/jpeg")]), + OpenApiResponse("202"), + OpenApiResponse("400"), + OpenApiResponse("404") + ], + methods = [HttpMethod.GET] + ) + override fun get(ctx: Context) { + val params = ctx.pathParamMap() + val mediaItemId = params["mediaItemId"] ?: throw ErrorStatusException(400, "Media item ID was not specified or is invalid.", ctx) + this.store.transactional(true) { + val item = DbMediaItem.query(DbMediaItem::id eq mediaItemId).firstOrNull() + handlePreviewImageRequest(item, 0L, ctx) + } + } + + override fun doGet(ctx: Context): Any { + throw UnsupportedOperationException("PreviewImageHandler::doGet() is not supported and should not be executed!") + } +} diff --git a/backend/src/main/kotlin/dev/dres/api/rest/handler/template/ListTaskTypePresetsHandler.kt b/backend/src/main/kotlin/dev/dres/api/rest/handler/template/ListTaskTypePresetsHandler.kt index 344cdaf4a..9470489ee 100644 --- a/backend/src/main/kotlin/dev/dres/api/rest/handler/template/ListTaskTypePresetsHandler.kt +++ b/backend/src/main/kotlin/dev/dres/api/rest/handler/template/ListTaskTypePresetsHandler.kt @@ -1,5 +1,6 @@ package dev.dres.api.rest.handler.template +import com.fasterxml.jackson.databind.DeserializationFeature import com.fasterxml.jackson.databind.ObjectMapper import dev.dres.DRES import dev.dres.api.rest.handler.AccessManagedRestHandler @@ -69,7 +70,7 @@ class ListTaskTypePresetsHandler : AccessManagedRestHandler, GetRestHandler ) { - constructor() : this("Default TaskType DO NOT USE!", - 300, + constructor() : this("---NO_ID---","---Default TaskType DO NOT USE!---", + 1, ApiTargetOption.TEXT, listOf(ApiHintOption.TEXT), listOf(ApiSubmissionOption.TEXTUAL_SUBMISSION), listOf(ApiTaskOption.HIDDEN_RESULTS), ApiScoreOption.KIS, mapOf() @@ -40,7 +43,7 @@ data class ApiTaskType( */ fun read(file: Path): ApiTaskType = Files.newInputStream(file, StandardOpenOption.READ).use { - ObjectMapper().readValue(it, ApiTaskType::class.java) + ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).readValue(it, ApiTaskType::class.java) } } } diff --git a/backend/src/main/kotlin/dev/dres/data/model/template/task/DbTaskGroup.kt b/backend/src/main/kotlin/dev/dres/data/model/template/task/DbTaskGroup.kt index 323f85803..d82c35734 100644 --- a/backend/src/main/kotlin/dev/dres/data/model/template/task/DbTaskGroup.kt +++ b/backend/src/main/kotlin/dev/dres/data/model/template/task/DbTaskGroup.kt @@ -37,5 +37,5 @@ class DbTaskGroup(entity: Entity) : XdEntity(entity) { * * @return [ApiTargetType] */ - fun toApi(): ApiTaskGroup = ApiTaskGroup(this.name,this.type.name) + fun toApi(): ApiTaskGroup = ApiTaskGroup(this.xdId,this.name,this.type.name) } diff --git a/backend/src/main/kotlin/dev/dres/data/model/template/task/DbTaskType.kt b/backend/src/main/kotlin/dev/dres/data/model/template/task/DbTaskType.kt index 0090c4046..aeddf4f69 100644 --- a/backend/src/main/kotlin/dev/dres/data/model/template/task/DbTaskType.kt +++ b/backend/src/main/kotlin/dev/dres/data/model/template/task/DbTaskType.kt @@ -56,6 +56,7 @@ class DbTaskType(entity: Entity) : XdEntity(entity) { * @return [ApiTaskType] */ fun toApi(): ApiTaskType = ApiTaskType( + id=this.xdId, name = this.name, duration = this.duration, targetOption = this.target.toApi(), diff --git a/doc/oas-client.json b/doc/oas-client.json index beb324887..d5952a3d8 100644 --- a/doc/oas-client.json +++ b/doc/oas-client.json @@ -1607,9 +1607,6 @@ "text" : { "type" : "string" }, - "mediaItemId" : { - "type" : "string" - }, "mediaItemName" : { "type" : "string" }, @@ -2090,6 +2087,9 @@ "type" : "object", "additionalProperties" : false, "properties" : { + "id" : { + "type" : "string" + }, "name" : { "type" : "string" }, @@ -2144,6 +2144,9 @@ "type" : "object", "additionalProperties" : false, "properties" : { + "id" : { + "type" : "string" + }, "name" : { "type" : "string" }, diff --git a/doc/oas.json b/doc/oas.json index 966c3cc0c..d130fca18 100644 --- a/doc/oas.json +++ b/doc/oas.json @@ -1,6742 +1,6807 @@ -{ - "openapi" : "3.0.3", - "info" : { - "title" : "DRES API", - "description" : "API for DRES (Distributed Retrieval Evaluation Server), Version 2.0.0", - "contact" : { - "name" : "The DRES Dev Team", - "url" : "https://dres.dev" - }, - "license" : { - "name" : "MIT" - }, - "version" : "2.0.0" - }, - "paths" : { - "/api/v1/submit" : { - "get" : { - "tags" : [ "Submission" ], - "summary" : "Endpoint to accept submissions", - "description" : "This has been the submission endpoint for version 1. Please refrain from using it and migrate to the v2 endpoint.", - "operationId" : "getApiV1Submit", - "parameters" : [ { - "name" : "collection", - "in" : "query", - "description" : "Collection identifier. Optional, in which case the default collection for the run will be considered.", - "required" : false, - "deprecated" : false, - "allowEmptyValue" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "item", - "in" : "query", - "description" : "Identifier for the actual media object or media file.", - "required" : false, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "text", - "in" : "query", - "description" : "Text to be submitted. ONLY for tasks with target type TEXT. If this parameter is provided, it superseeds all athers.", - "required" : false, - "deprecated" : false, - "allowEmptyValue" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "frame", - "in" : "query", - "description" : "Frame number for media with temporal progression (e.g., video).", - "required" : false, - "deprecated" : false, - "allowEmptyValue" : true, - "schema" : { - "type" : "integer", - "format" : "int32" - } - }, { - "name" : "shot", - "in" : "query", - "description" : "Shot number for media with temporal progression (e.g., video).", - "required" : false, - "deprecated" : false, - "allowEmptyValue" : true, - "schema" : { - "type" : "integer", - "format" : "int32" - } - }, { - "name" : "timecode", - "in" : "query", - "description" : "Timecode for media with temporal progression (e.g,. video).", - "required" : false, - "deprecated" : false, - "allowEmptyValue" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "session", - "in" : "query", - "description" : "Session Token", - "required" : false, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessfulSubmissionsStatus" - } - } - } - }, - "202" : { - "description" : "Accepted", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessfulSubmissionsStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "412" : { - "description" : "Precondition Failed", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : true, - "security" : [ ] - } - }, - "/api/v2/client/evaluation/currentTask/{evaluationId}" : { - "get" : { - "tags" : [ "Evaluation Client" ], - "summary" : "Returns an overview of the currently active task for a run.", - "operationId" : "getApiV2ClientEvaluationCurrentTaskByEvaluationId", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiTaskTemplateInfo" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/client/evaluation/list" : { - "get" : { - "tags" : [ "Evaluation Client" ], - "summary" : "Lists an overview of all evaluation runs visible to the current client.", - "operationId" : "getApiV2ClientEvaluationList", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiEvaluationInfo" - } - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/collection" : { - "patch" : { - "tags" : [ "Collection" ], - "summary" : "Updates a media collection", - "operationId" : "patchApiV2Collection", - "parameters" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiMediaCollection" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - }, - "post" : { - "tags" : [ "Collection" ], - "summary" : "Adds a new media collection.", - "operationId" : "postApiV2Collection", - "parameters" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiMediaCollection" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/collection/list" : { - "get" : { - "tags" : [ "Collection" ], - "summary" : "Lists all available media collections with basic information about their content.", - "operationId" : "getApiV2CollectionList", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiMediaCollection" - } - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/collection/{collectionId}" : { - "get" : { - "tags" : [ "Collection" ], - "summary" : "Shows the content of the specified media collection.", - "operationId" : "getApiV2CollectionByCollectionId", - "parameters" : [ { - "name" : "collectionId", - "in" : "path", - "description" : "Collection ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiPopulatedMediaCollection" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - }, - "delete" : { - "tags" : [ "Collection" ], - "summary" : "Deletes a media collection identified by a collection id.", - "operationId" : "deleteApiV2CollectionByCollectionId", - "parameters" : [ { - "name" : "collectionId", - "in" : "path", - "description" : "Collection ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/collection/{collectionId}/random" : { - "get" : { - "tags" : [ "Collection" ], - "summary" : "Selects and returns a random media item from a given media collection.", - "operationId" : "getApiV2CollectionByCollectionIdRandom", - "parameters" : [ { - "name" : "collectionId", - "in" : "path", - "description" : "Collection ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiMediaItem" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/collection/{collectionId}/resolve" : { - "post" : { - "tags" : [ "Collection" ], - "summary" : "Resolves a list of media item names to media items", - "operationId" : "postApiV2CollectionByCollectionIdResolve", - "parameters" : [ { - "name" : "collectionId", - "in" : "path", - "description" : "Collection ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiMediaItem" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/collection/{collectionId}/{startsWith}" : { - "get" : { - "tags" : [ "Collection" ], - "summary" : "Lists media items from a given media collection whose name start with the given string.", - "operationId" : "getApiV2CollectionByCollectionIdByStartsWith", - "parameters" : [ { - "name" : "collectionId", - "in" : "path", - "description" : "Collection ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "startsWith", - "in" : "path", - "description" : "Name the item(s) should start with.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiMediaItem" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/download/evaluation/{evaluationId}" : { - "get" : { - "tags" : [ "Download" ], - "summary" : "Provides a JSON download of the entire evaluation structure.", - "operationId" : "getApiV2DownloadEvaluationByEvaluationId", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/download/evaluation/{evaluationId}/scores" : { - "get" : { - "tags" : [ "Download" ], - "summary" : "Provides a CSV download with the scores for a given evaluation.", - "operationId" : "getApiV2DownloadEvaluationByEvaluationIdScores", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/download/template/{templateId}" : { - "get" : { - "tags" : [ "Download" ], - "summary" : "Provides a JSON download of the entire evaluation template structure.", - "operationId" : "getApiV2DownloadTemplateByTemplateId", - "parameters" : [ { - "name" : "templateId", - "in" : "path", - "description" : "The evaluation template ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/create" : { - "post" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Creates a new evaluation run from an existing evaluation template. This is a method for administrators.", - "operationId" : "postApiV2EvaluationAdminCreate", - "parameters" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiEvaluationStartMessage" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/adjust/{duration}" : { - "patch" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Adjusts the duration of a running task. This is a method for admins.", - "operationId" : "patchApiV2EvaluationAdminByEvaluationIdAdjustByDuration", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "duration", - "in" : "path", - "description" : "Duration to add. Can be negative.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "integer", - "format" : "int32" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/override/{answerSetId}" : { - "patch" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Override the verdict status of an AnswerSet.", - "operationId" : "patchApiV2EvaluationAdminByEvaluationIdOverrideByAnswerSetId", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "answerSetId", - "in" : "path", - "description" : "The ID of the AnswerSet.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiOverrideAnswerSetVerdictDto" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/overview" : { - "get" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Provides a complete overview of an evaluation.", - "operationId" : "getApiV2EvaluationAdminByEvaluationIdOverview", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiEvaluationOverview" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/properties" : { - "patch" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Changes the properties of an evaluation.", - "operationId" : "patchApiV2EvaluationAdminByEvaluationIdProperties", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/RunProperties" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/start" : { - "post" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Starts a evaluation. This is a method for administrators.", - "operationId" : "postApiV2EvaluationAdminByEvaluationIdStart", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/submission/list/{templateId}" : { - "get" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Lists all submissions for a given evaluation and task.", - "operationId" : "getApiV2EvaluationAdminByEvaluationIdSubmissionListByTemplateId", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "templateId", - "in" : "path", - "description" : "The task template ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiSubmissionInfo" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/task/abort" : { - "post" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Aborts the currently running task run. This is a method for admins.", - "operationId" : "postApiV2EvaluationAdminByEvaluationIdTaskAbort", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/task/next" : { - "post" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Moves to and selects the next task within the evaluation. This is a method for admins.", - "operationId" : "postApiV2EvaluationAdminByEvaluationIdTaskNext", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/task/past/list" : { - "get" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Lists all past tasks for a given evaluation.", - "operationId" : "getApiV2EvaluationAdminByEvaluationIdTaskPastList", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTaskTemplateInfo" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/task/previous" : { - "post" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Moves to and selects the previous task. This is a method for admins.", - "operationId" : "postApiV2EvaluationAdminByEvaluationIdTaskPrevious", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/task/start" : { - "post" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Starts the currently active task as a new task run. This is a method for admins.", - "operationId" : "postApiV2EvaluationAdminByEvaluationIdTaskStart", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evalation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/task/switch/{idx}" : { - "post" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Moves to and selects the specified task. This is a method for admins.", - "operationId" : "postApiV2EvaluationAdminByEvaluationIdTaskSwitchByIdx", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "idx", - "in" : "path", - "description" : "Index of the task to switch to.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "integer", - "format" : "int32" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/terminate" : { - "post" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Terminates an evaluation. This is a method for administrators.", - "operationId" : "postApiV2EvaluationAdminByEvaluationIdTerminate", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/viewer/list" : { - "get" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Lists all registered viewers for a evaluation. This is a method for admins.", - "operationId" : "getApiV2EvaluationAdminByEvaluationIdViewerList", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiViewerInfo" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/admin/{evaluationId}/viewer/list/{viewerId}/force" : { - "post" : { - "tags" : [ "Evaluation Administrator" ], - "summary" : "Forces a viewer with the given viewer ID into the READY state. This is a method for admins.", - "operationId" : "postApiV2EvaluationAdminByEvaluationIdViewerListByViewerIdForce", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "viewerId", - "in" : "path", - "description" : "The viewer ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/info/list" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Lists an overview of all evaluations visible to the current user.", - "operationId" : "getApiV2EvaluationInfoList", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiEvaluationInfo" - } - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/state/list" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Lists an overview of all evaluation visible to the current user.", - "operationId" : "getApiV2EvaluationStateList", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiEvaluationState" - } - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/info" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Returns basic information about a specific evaluation.", - "operationId" : "getApiV2EvaluationByEvaluationIdInfo", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiEvaluationInfo" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/judge" : { - "post" : { - "tags" : [ "Judgement" ], - "summary" : "Endpoint to post a judgement for a previously detached judgement request.", - "operationId" : "postApiV2EvaluationByEvaluationIdJudge", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiJudgement" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "408" : { - "description" : "On timeout: Judgement took too long", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/judge/next" : { - "get" : { - "tags" : [ "Judgement" ], - "summary" : "Gets the next open submission that is waiting to be judged.", - "operationId" : "getApiV2EvaluationByEvaluationIdJudgeNext", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiJudgementRequest" - } - } - } - }, - "202" : { - "description" : "Accepted", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/judge/status" : { - "get" : { - "tags" : [ "Judgement" ], - "summary" : "Retrieves the status of all judgement validators.", - "operationId" : "getApiV2EvaluationByEvaluationIdJudgeStatus", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiJudgementValidatorStatus" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/judge/vote" : { - "post" : { - "tags" : [ "Judgement" ], - "summary" : "Returns a Vote.", - "operationId" : "postApiV2EvaluationByEvaluationIdJudgeVote", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiVote" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/scoreboard/list" : { - "get" : { - "tags" : [ "Evaluation Scores" ], - "summary" : "Returns a list of available scoreboard names for the given evaluation.", - "operationId" : "getApiV2EvaluationByEvaluationIdScoreboardList", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/state" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Returns the state of a specific evaluation.", - "operationId" : "getApiV2EvaluationByEvaluationIdState", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiEvaluationState" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/submission/list" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Returns all submissions for the current task run, if one is either running or has just ended.", - "operationId" : "getApiV2EvaluationByEvaluationIdSubmissionList", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiSubmission" - } - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/submission/list/after/{timestamp}" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Returns all submissions for the current task that are more recent than the provided timestamp, if a task is either running or has just ended.", - "operationId" : "getApiV2EvaluationByEvaluationIdSubmissionListAfterByTimestamp", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "timestamp", - "in" : "path", - "description" : "Timestamp that marks the lower bound for returned submissions.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiSubmission" - } - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/task" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Returns the information for the currently active task template (i.e., the one that is currently selected).", - "operationId" : "getApiV2EvaluationByEvaluationIdTask", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiTaskTemplateInfo" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/task/{taskId}/submission/list" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Returns the submissions of a specific task run, regardless of whether it is currently running or has ended.", - "operationId" : "getApiV2EvaluationByEvaluationIdTaskByTaskIdSubmissionList", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "taskId", - "in" : "path", - "description" : "Task ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiSubmission" - } - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/template/task/{taskTemplateId}/hint" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Returns the task hint for the specified task template in the context of the provided evaluation.", - "operationId" : "getHintForTaskTemplateId", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The ID of the evaluation.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "taskTemplateId", - "in" : "path", - "description" : "The ID of the task template.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiHintContent" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/template/task/{taskTemplateId}/target" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Returns the task target for the specified task template in the context of the provided evaluation.", - "operationId" : "getTargetForTaskTemplateId", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The ID of the evaluation.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "taskTemplateId", - "in" : "path", - "description" : "The ID of the task template.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiTargetContent" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/vote/next" : { - "get" : { - "tags" : [ "Judgement" ], - "summary" : "Gets the next open submission that is waiting to be voted on.", - "operationId" : "getApiV2EvaluationByEvaluationIdVoteNext", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiJudgementRequest" - } - } - } - }, - "202" : { - "description" : "Accepted", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/evaluation/{evaluationId}/{taskId}/ready" : { - "get" : { - "tags" : [ "Evaluation" ], - "summary" : "Signals that a viewer is ready to show the hints for a particular task.", - "operationId" : "getApiV2EvaluationByEvaluationIdByTaskIdReady", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "taskId", - "in" : "path", - "description" : "The task ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/external/find/{startsWith}" : { - "get" : { - "tags" : [ "Collection" ], - "summary" : "Lists items from the external media collection whose name start with the given string.", - "operationId" : "getApiV2ExternalFindByStartsWith", - "parameters" : [ { - "name" : "startsWith", - "in" : "path", - "description" : "Name starts with.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/external/list" : { - "get" : { - "tags" : [ "Collection" ], - "summary" : "Lists items from the external media collection.", - "operationId" : "getApiV2ExternalList", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/external/upload/{name}" : { - "post" : { - "tags" : [ "Collection" ], - "summary" : "Receives a new external (media) item to be used in query hints.", - "operationId" : "postApiV2ExternalUploadByName", - "parameters" : [ { - "name" : "name", - "in" : "path", - "description" : "The name of the file", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "description" : "The file to upload.", - "content" : { - "image/png" : { - "schema" : { - "type" : "string", - "format" : "binary" - } - }, - "video/mp4" : { - "schema" : { - "type" : "string", - "format" : "binary" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/external/{name}" : { - "delete" : { - "tags" : [ "Collection" ], - "summary" : "Deletes the external item with this name, as far as it exists.", - "operationId" : "deleteApiV2ExternalByName", - "parameters" : [ { - "name" : "name", - "in" : "path", - "description" : "Filename of external item to delete", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "On success (the item is deleted)", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "For caller error", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "If the caller has not the appropriate rights. Requires role admin", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "If no such external file exists", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/log/query" : { - "post" : { - "tags" : [ "Log" ], - "summary" : "Accepts query logs from participants", - "operationId" : "postApiV2LogQuery", - "parameters" : [ { - "name" : "session", - "in" : "query", - "description" : "Session Token", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/QueryEventLog" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/log/result" : { - "post" : { - "tags" : [ "Log" ], - "summary" : "Accepts result logs from participants.", - "operationId" : "postApiV2LogResult", - "parameters" : [ { - "name" : "session", - "in" : "query", - "description" : "Session Token", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/QueryResultLog" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/login" : { - "post" : { - "tags" : [ "User" ], - "summary" : "Sets roles for session based on user account and returns a session cookie.", - "operationId" : "postApiV2Login", - "parameters" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/LoginRequest" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiUser" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/logout" : { - "get" : { - "tags" : [ "User" ], - "summary" : "Clears all user roles of the current session.", - "operationId" : "getApiV2Logout", - "parameters" : [ { - "name" : "session", - "in" : "query", - "description" : "Session Token", - "required" : false, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/mediaItem" : { - "post" : { - "tags" : [ "Collection" ], - "summary" : "Adds a media item to the specified media collection.", - "operationId" : "postApiV2MediaItem", - "parameters" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiMediaItem" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/mediaItem/{mediaId}" : { - "delete" : { - "tags" : [ "Collection" ], - "summary" : "Tries to delete a specific media item.", - "operationId" : "deleteApiV2MediaItemByMediaId", - "parameters" : [ { - "name" : "mediaId", - "in" : "path", - "description" : "Media item ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/mediaItem/{mediaItemId}" : { - "get" : { - "tags" : [ "Collection" ], - "summary" : "Selects and returns a specific media item.", - "operationId" : "getApiV2MediaItemByMediaItemId", - "parameters" : [ { - "name" : "mediaItemId", - "in" : "path", - "description" : "Media item ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiMediaItem" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/mediaitem" : { - "patch" : { - "tags" : [ "Collection" ], - "summary" : "Updates a Media Item to the specified Media Collection.", - "operationId" : "patchApiV2Mediaitem", - "parameters" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiMediaItem" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/preview/{mediaItemId}/{start}/{end}" : { - "get" : { - "tags" : [ "Media" ], - "summary" : "Returns a preview video from a media item. ", - "operationId" : "getApiV2PreviewByMediaItemIdByStartByEnd", - "parameters" : [ { - "name" : "mediaItemId", - "in" : "path", - "description" : "Unique ID of the media item. Must be a video.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "start", - "in" : "path", - "description" : "Start timestamp into the video in milliseconds.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "integer", - "format" : "int64" - } - }, { - "name" : "end", - "in" : "path", - "description" : "End timestamp into the video in milliseconds.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "video/mp4" : { } - } - }, - "202" : { - "description" : "Accepted" - }, - "400" : { - "description" : "Bad Request" - }, - "404" : { - "description" : "Not Found" - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/preview/{mediaItemId}/{timestamp}" : { - "get" : { - "tags" : [ "Media" ], - "summary" : "Returns a preview image from a media item.", - "operationId" : "getApiV2PreviewByMediaItemIdByTimestamp", - "parameters" : [ { - "name" : "mediaItemId", - "in" : "path", - "description" : "Unique ID of the media item.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "timestamp", - "in" : "path", - "description" : "Time into the video in milliseconds (for videos only).", - "required" : false, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "image/jpeg" : { } - } - }, - "202" : { - "description" : "Accepted" - }, - "400" : { - "description" : "Bad Request" - }, - "404" : { - "description" : "Not Found" - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/score/evaluation/{evaluationId}" : { - "get" : { - "tags" : [ "Evaluation Scores" ], - "summary" : "Returns the score overviews of a specific evaluation run.", - "operationId" : "getApiV2ScoreEvaluationByEvaluationId", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiScoreOverview" - } - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/score/evaluation/{evaluationId}/current" : { - "get" : { - "tags" : [ "Evaluation Scores" ], - "summary" : "Returns the overviews of all score boards for the current task, if it is either running or has just ended.", - "operationId" : "getApiV2ScoreEvaluationByEvaluationIdCurrent", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiScoreOverview" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/score/evaluation/{evaluationId}/history/{taskId}" : { - "get" : { - "tags" : [ "Evaluation Scores" ], - "summary" : "Returns the overviews of all score boards for the specified task.", - "operationId" : "getApiV2ScoreEvaluationByEvaluationIdHistoryByTaskId", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "taskId", - "in" : "path", - "description" : "The task ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiScoreOverview" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/score/evaluation/{evaluationId}/series/{scoreboard}" : { - "get" : { - "tags" : [ "Evaluation Scores" ], - "summary" : "Returns a time series for a given run and scoreboard.", - "operationId" : "getApiV2ScoreEvaluationByEvaluationIdSeriesByScoreboard", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - }, { - "name" : "scoreboard", - "in" : "path", - "description" : "Name of the scoreboard to return the time series for.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiScoreSeries" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/score/evaluation/{evaluationId}/teamGroup/list" : { - "get" : { - "tags" : [ "Evaluation Scores" ], - "summary" : "Returns team group aggregated values of the current task.", - "operationId" : "getApiV2ScoreEvaluationByEvaluationIdTeamGroupList", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The evaluation ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTeamGroupValue" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/status/info" : { - "get" : { - "tags" : [ "Status" ], - "summary" : "Returns an overview of the server properties.", - "operationId" : "getApiV2StatusInfo", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/DresInfo" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/status/time" : { - "get" : { - "tags" : [ "Status" ], - "summary" : "Returns the current time on the server.", - "operationId" : "getApiV2StatusTime", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CurrentTime" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/submit/{evaluationId}" : { - "post" : { - "tags" : [ "Submission" ], - "summary" : "Endpoint to accept submissions.", - "operationId" : "postApiV2SubmitByEvaluationId", - "parameters" : [ { - "name" : "evaluationId", - "in" : "path", - "description" : "The ID of the evaluation the submission belongs to.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiClientSubmission" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "The submission was accepted by the server and there was a verdict", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessfulSubmissionsStatus" - } - } - } - }, - "202" : { - "description" : "The submission was accepted by the server and there has not yet been a verdict available", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessfulSubmissionsStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "412" : { - "description" : "The submission was rejected by the server", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/template" : { - "post" : { - "tags" : [ "Template" ], - "summary" : "Creates a new evaluation template.", - "operationId" : "postApiV2Template", - "parameters" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiCreateEvaluation" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/template/list" : { - "get" : { - "tags" : [ "Template" ], - "summary" : "Lists an overview of all available evaluation templates with basic information about their content.", - "operationId" : "getApiV2TemplateList", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiEvaluationTemplateOverview" - } - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/template/team" : { - "post" : { - "tags" : [ "Template", "Team" ], - "summary" : "Creates a new team.", - "operationId" : "postApiV2TemplateTeam", - "parameters" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiTeam" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/template/team/list" : { - "get" : { - "tags" : [ "Template", "Team" ], - "summary" : "Lists all the teams across all evaluations.", - "operationId" : "getApiV2TemplateTeamList", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTeam" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/template/team/{teamId}" : { - "post" : { - "tags" : [ "Template", "Team" ], - "summary" : "Creates a new team.", - "operationId" : "postApiV2TemplateTeamByTeamId", - "parameters" : [ { - "name" : "teamId", - "in" : "path", - "description" : "The team ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiTeam" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/template/type-presets/list" : { - "get" : { - "tags" : [ "Template" ], - "summary" : "Lists the task type presets available. Both, shipped with DRES and custom ones.", - "operationId" : "getApiV2TemplateTypePresetsList", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTaskType" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/template/{templateId}" : { - "get" : { - "tags" : [ "Template" ], - "summary" : "Loads the detailed definition of a specific evaluation template.", - "operationId" : "getApiV2TemplateByTemplateId", - "parameters" : [ { - "name" : "templateId", - "in" : "path", - "description" : "The evaluation template ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiEvaluationTemplate" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - }, - "delete" : { - "tags" : [ "Template" ], - "summary" : "Deletes the evaluation template with the given template ID.", - "operationId" : "deleteApiV2TemplateByTemplateId", - "parameters" : [ { - "name" : "templateId", - "in" : "path", - "description" : "The evaluation template ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - }, - "patch" : { - "tags" : [ "Template" ], - "summary" : "Updates an existing evaluation template.", - "operationId" : "patchApiV2TemplateByTemplateId", - "parameters" : [ { - "name" : "templateId", - "in" : "path", - "description" : "The evaluation template ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiEvaluationTemplate" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SuccessStatus" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "409" : { - "description" : "Conflict", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/template/{templateId}/clone" : { - "post" : { - "tags" : [ "Template" ], - "summary" : "Clones an existing evaluation template.", - "operationId" : "postApiV2TemplateByTemplateIdClone", - "parameters" : [ { - "name" : "templateId", - "in" : "path", - "description" : "The evaluation template ID to clone.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiEvaluationTemplate" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "409" : { - "description" : "Conflict", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/template/{templateId}/task/list" : { - "get" : { - "tags" : [ "Template" ], - "summary" : "Lists the task templates contained in a specific evaluation template.", - "operationId" : "getApiV2TemplateByTemplateIdTaskList", - "parameters" : [ { - "name" : "templateId", - "in" : "path", - "description" : "The evaluation template ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTaskTemplate" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/template/{templateId}/team/list" : { - "get" : { - "tags" : [ "Template" ], - "summary" : "Lists all the teams of a specific evaluation template.", - "operationId" : "getApiV2TemplateByTemplateIdTeamList", - "parameters" : [ { - "name" : "templateId", - "in" : "path", - "description" : "The evaluation template ID.", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTeam" - } - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/user" : { - "get" : { - "tags" : [ "User" ], - "summary" : "Get information about the current user.", - "operationId" : "getApiV2User", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiUser" - } - } - } - }, - "500" : { - "description" : "Server Error", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - }, - "post" : { - "tags" : [ "User" ], - "summary" : "Creates a new user, if the username is not already taken. Requires ADMIN privileges", - "operationId" : "postApiV2User", - "parameters" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiUserRequest" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiUser" - } - } - } - }, - "400" : { - "description" : "If the username is already taken", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "500" : { - "description" : "Server Error", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/user/list" : { - "get" : { - "tags" : [ "User" ], - "summary" : "Lists all available users.", - "operationId" : "getApiV2UserList", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiUser" - } - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/user/session" : { - "get" : { - "tags" : [ "User" ], - "summary" : "Get current sessionId", - "operationId" : "getApiV2UserSession", - "parameters" : [ { - "name" : "session", - "in" : "query", - "description" : "Session Token", - "required" : false, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" - } - } - } - }, - "500" : { - "description" : "Server Error", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/user/session/active/list" : { - "get" : { - "tags" : [ "User" ], - "summary" : "Get details of all current user sessions", - "operationId" : "getApiV2UserSessionActiveList", - "parameters" : [ ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiUser" - } - } - } - } - }, - "500" : { - "description" : "Server Error", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - }, - "/api/v2/user/{userId}" : { - "delete" : { - "tags" : [ "User" ], - "summary" : "Deletes the specified user. Requires ADMIN privileges", - "operationId" : "deleteApiV2UserByUserId", - "parameters" : [ { - "name" : "userId", - "in" : "path", - "description" : "User ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiUser" - } - } - } - }, - "404" : { - "description" : "If the user could not be found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "500" : { - "description" : "Server Error", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - }, - "get" : { - "tags" : [ "User" ], - "summary" : "Gets details of the user with the given id.", - "operationId" : "getApiV2UserByUserId", - "parameters" : [ { - "name" : "userId", - "in" : "path", - "description" : "User's UID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiUser" - } - } - } - }, - "404" : { - "description" : "If the user could not be found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "500" : { - "description" : "Server Error", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - }, - "patch" : { - "tags" : [ "User" ], - "summary" : "Updates the specified user, if it exists. Anyone is allowed to update their data, however only ADMINs are allowed to update anyone.", - "operationId" : "patchApiV2UserByUserId", - "parameters" : [ { - "name" : "userId", - "in" : "path", - "description" : "User ID", - "required" : true, - "deprecated" : false, - "allowEmptyValue" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiUserRequest" - } - } - }, - "required" : false - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ApiUser" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "404" : { - "description" : "Not Found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - }, - "500" : { - "description" : "Server Error", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorStatus" - } - } - } - } - }, - "deprecated" : false, - "security" : [ ] - } - } - }, - "components" : { - "schemas" : { - "LoginRequest" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "username" : { - "type" : "string" - }, - "password" : { - "type" : "string" - } - }, - "required" : [ "username", "password" ] - }, - "ApiMediaCollection" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "description" : { - "type" : "string" - }, - "basePath" : { - "type" : "string" - }, - "itemCount" : { - "type" : "integer", - "format" : "int32" - } - }, - "required" : [ "name", "itemCount" ] - }, - "ApiMediaItem" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "mediaItemId" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "type" : { - "$ref" : "#/components/schemas/ApiMediaType" - }, - "collectionId" : { - "type" : "string" - }, - "location" : { - "type" : "string" - }, - "durationMs" : { - "type" : "integer", - "format" : "int64" - }, - "fps" : { - "type" : "number", - "format" : "float" - }, - "metadata" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiMediaItemMetaDataEntry" - } - } - }, - "required" : [ "mediaItemId", "name", "type", "collectionId", "location", "metadata" ] - }, - "ApiMediaItemMetaDataEntry" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "key" : { - "type" : "string" - }, - "value" : { - "type" : "string" - } - }, - "required" : [ "key", "value" ] - }, - "ApiMediaType" : { - "type" : "string", - "enum" : [ "IMAGE", "VIDEO", "TEXT" ] - }, - "ApiPopulatedMediaCollection" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "collection" : { - "$ref" : "#/components/schemas/ApiMediaCollection" - }, - "items" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiMediaItem" - } - } - }, - "required" : [ "collection", "items" ] - }, - "ApiTemporalPoint" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "value" : { - "type" : "string" - }, - "unit" : { - "$ref" : "#/components/schemas/ApiTemporalUnit" - } - }, - "required" : [ "value", "unit" ] - }, - "ApiTemporalRange" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "start" : { - "$ref" : "#/components/schemas/ApiTemporalPoint" - }, - "end" : { - "$ref" : "#/components/schemas/ApiTemporalPoint" - } - }, - "required" : [ "start", "end" ] - }, - "ApiTemporalUnit" : { - "type" : "string", - "enum" : [ "FRAME_NUMBER", "SECONDS", "MILLISECONDS", "TIMECODE" ] - }, - "ApiEvaluationInfo" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "type" : { - "$ref" : "#/components/schemas/ApiEvaluationType" - }, - "properties" : { - "$ref" : "#/components/schemas/RunProperties" - }, - "templateId" : { - "type" : "string" - }, - "templateDescription" : { - "type" : "string" - }, - "teams" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTeamInfo" - } - }, - "taskTemplates" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTaskTemplateInfo" - } - } - }, - "required" : [ "id", "name", "type", "properties", "templateId", "teams", "taskTemplates" ] - }, - "ApiEvaluationOverview" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "state" : { - "$ref" : "#/components/schemas/RunManagerStatus" - }, - "teamOverviews" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTeamTaskOverview" - } - } - }, - "required" : [ "state", "teamOverviews" ] - }, - "ApiEvaluationState" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "evaluationId" : { - "type" : "string" - }, - "evaluationStatus" : { - "$ref" : "#/components/schemas/ApiEvaluationStatus" - }, - "taskId" : { - "type" : "string" - }, - "taskStatus" : { - "$ref" : "#/components/schemas/ApiTaskStatus" - }, - "taskTemplateId" : { - "type" : "string" - }, - "timeLeft" : { - "type" : "integer", - "format" : "int64" - }, - "timeElapsed" : { - "type" : "integer", - "format" : "int64" - } - }, - "required" : [ "evaluationId", "evaluationStatus", "taskStatus", "timeLeft", "timeElapsed" ] - }, - "ApiEvaluationStatus" : { - "type" : "string", - "enum" : [ "CREATED", "ACTIVE", "TERMINATED" ] - }, - "ApiEvaluationType" : { - "type" : "string", - "enum" : [ "SYNCHRONOUS", "ASYNCHRONOUS", "NON_INTERACTIVE" ] - }, - "ApiOverrideAnswerSetVerdictDto" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "verdict" : { - "$ref" : "#/components/schemas/ApiVerdictStatus" - } - }, - "required" : [ "verdict" ] - }, - "ApiSubmissionInfo" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "evaluationId" : { - "type" : "string" - }, - "taskId" : { - "type" : "string" - }, - "submissions" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiSubmission" - } - } - }, - "required" : [ "evaluationId", "taskId", "submissions" ] - }, - "ApiTaskOverview" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "type" : { - "type" : "string" - }, - "group" : { - "type" : "string" - }, - "duration" : { - "type" : "integer", - "format" : "int64" - }, - "taskId" : { - "type" : "string" - }, - "status" : { - "$ref" : "#/components/schemas/ApiTaskStatus" - }, - "started" : { - "type" : "integer", - "format" : "int64" - }, - "ended" : { - "type" : "integer", - "format" : "int64" - } - }, - "required" : [ "id", "name", "type", "group", "duration", "taskId", "status" ] - }, - "ApiTaskStatus" : { - "type" : "string", - "enum" : [ "NO_TASK", "CREATED", "PREPARING", "RUNNING", "ENDED", "IGNORED" ] - }, - "ApiTaskTemplateInfo" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "templateId" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "taskGroup" : { - "type" : "string" - }, - "taskType" : { - "type" : "string" - }, - "duration" : { - "type" : "integer", - "format" : "int64" - } - }, - "required" : [ "templateId", "name", "taskGroup", "taskType", "duration" ] - }, - "ApiTeamInfo" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "color" : { - "type" : "string" - } - }, - "required" : [ "id", "name", "color" ] - }, - "ApiTeamTaskOverview" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "teamId" : { - "type" : "string" - }, - "tasks" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTaskOverview" - } - } - }, - "required" : [ "teamId", "tasks" ] - }, - "ApiViewerInfo" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "viewersId" : { - "type" : "string" - }, - "username" : { - "type" : "string" - }, - "host" : { - "type" : "string" - }, - "ready" : { - "type" : "boolean" - } - }, - "required" : [ "viewersId", "username", "host", "ready" ] - }, - "ApiScore" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "teamId" : { - "type" : "string" - }, - "score" : { - "type" : "number", - "format" : "double" - } - }, - "required" : [ "teamId", "score" ] - }, - "ApiScoreOverview" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "name" : { - "type" : "string" - }, - "taskGroup" : { - "type" : "string" - }, - "scores" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiScore" - } - } - }, - "required" : [ "name", "scores" ] - }, - "ApiScoreSeries" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "team" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "points" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiScoreSeriesPoint" - } - } - }, - "required" : [ "team", "name", "points" ] - }, - "ApiScoreSeriesPoint" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "score" : { - "type" : "number", - "format" : "double" - }, - "timestamp" : { - "type" : "integer", - "format" : "int64" - } - }, - "required" : [ "score", "timestamp" ] - }, - "ApiTeamGroupValue" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "name" : { - "type" : "string" - }, - "value" : { - "type" : "number", - "format" : "double" - } - }, - "required" : [ "name", "value" ] - }, - "ApiAnswer" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "type" : { - "$ref" : "#/components/schemas/ApiAnswerType" - }, - "item" : { - "$ref" : "#/components/schemas/ApiMediaItem" - }, - "text" : { - "type" : "string" - }, - "start" : { - "type" : "integer", - "format" : "int64" - }, - "end" : { - "type" : "integer", - "format" : "int64" - }, - "temporalRange" : { - "$ref" : "#/components/schemas/TemporalRange" - } - }, - "required" : [ "type" ] - }, - "ApiAnswerSet" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "status" : { - "$ref" : "#/components/schemas/ApiVerdictStatus" - }, - "taskId" : { - "type" : "string" - }, - "answers" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiAnswer" - } - } - }, - "required" : [ "id", "status", "taskId", "answers" ] - }, - "ApiAnswerType" : { - "type" : "string", - "enum" : [ "ITEM", "TEMPORAL", "TEXT" ] - }, - "ApiClientAnswer" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "text" : { - "type" : "string" - }, - "mediaItemId" : { - "type" : "string" - }, - "mediaItemName" : { - "type" : "string" - }, - "mediaItemCollectionName" : { - "type" : "string" - }, - "start" : { - "type" : "integer", - "format" : "int64" - }, - "end" : { - "type" : "integer", - "format" : "int64" - } - } - }, - "ApiClientAnswerSet" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "taskId" : { - "type" : "string" - }, - "taskName" : { - "type" : "string" - }, - "answers" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiClientAnswer" - } - } - }, - "required" : [ "answers" ] - }, - "ApiClientSubmission" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "answerSets" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiClientAnswerSet" - } - } - }, - "required" : [ "answerSets" ] - }, - "ApiSubmission" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "submissionId" : { - "type" : "string" - }, - "teamId" : { - "type" : "string" - }, - "memberId" : { - "type" : "string" - }, - "teamName" : { - "type" : "string" - }, - "memberName" : { - "type" : "string" - }, - "timestamp" : { - "type" : "integer", - "format" : "int64" - }, - "answers" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiAnswerSet" - } - } - }, - "required" : [ "submissionId", "teamId", "memberId", "teamName", "memberName", "timestamp", "answers" ] - }, - "ApiVerdictStatus" : { - "type" : "string", - "enum" : [ "CORRECT", "WRONG", "INDETERMINATE", "UNDECIDABLE" ] - }, - "ApiJudgement" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "token" : { - "type" : "string" - }, - "validator" : { - "type" : "string" - }, - "verdict" : { - "$ref" : "#/components/schemas/ApiVerdictStatus" - } - }, - "required" : [ "token", "validator", "verdict" ] - }, - "ApiJudgementRequest" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "token" : { - "type" : "string" - }, - "validator" : { - "type" : "string" - }, - "taskDescription" : { - "type" : "string" - }, - "answerSet" : { - "$ref" : "#/components/schemas/ApiAnswerSet" - } - }, - "required" : [ "validator", "taskDescription", "answerSet" ] - }, - "ApiJudgementValidatorStatus" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "validatorName" : { - "type" : "string" - }, - "pending" : { - "type" : "integer", - "format" : "int32" - }, - "open" : { - "type" : "integer", - "format" : "int32" - } - }, - "required" : [ "validatorName", "pending", "open" ] - }, - "ApiVote" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "verdict" : { - "$ref" : "#/components/schemas/ApiVerdictStatus" - } - }, - "required" : [ "verdict" ] - }, - "ErrorStatus" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "status" : { - "type" : "boolean" - }, - "description" : { - "type" : "string" - } - }, - "required" : [ "status", "description" ] - }, - "SuccessStatus" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "status" : { - "type" : "boolean" - }, - "description" : { - "type" : "string" - } - }, - "required" : [ "status", "description" ] - }, - "SuccessfulSubmissionsStatus" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "status" : { - "type" : "boolean" - }, - "submission" : { - "$ref" : "#/components/schemas/ApiVerdictStatus" - }, - "description" : { - "type" : "string" - } - }, - "required" : [ "status", "submission", "description" ] - }, - "CurrentTime" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "timeStamp" : { - "type" : "integer", - "format" : "int64" - } - }, - "required" : [ "timeStamp" ] - }, - "DresInfo" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "version" : { - "type" : "string" - }, - "startTime" : { - "type" : "integer", - "format" : "int64" - }, - "uptime" : { - "type" : "integer", - "format" : "int64" - }, - "os" : { - "type" : "string" - }, - "jvm" : { - "type" : "string" - }, - "args" : { - "type" : "string" - }, - "cores" : { - "type" : "integer", - "format" : "int32" - }, - "freeMemory" : { - "type" : "integer", - "format" : "int64" - }, - "totalMemory" : { - "type" : "integer", - "format" : "int64" - }, - "load" : { - "type" : "number", - "format" : "double" - }, - "availableSeverThreads" : { - "type" : "integer", - "format" : "int32" - } - }, - "required" : [ "version", "startTime", "uptime" ] - }, - "ApiContentElement" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "contentType" : { - "$ref" : "#/components/schemas/ApiContentType" - }, - "content" : { - "type" : "string" - }, - "offset" : { - "type" : "integer", - "format" : "int64" - } - }, - "required" : [ "contentType", "offset" ] - }, - "ApiContentType" : { - "type" : "string", - "enum" : [ "EMPTY", "TEXT", "VIDEO", "IMAGE" ] - }, - "ApiCreateEvaluation" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "name" : { - "type" : "string" - }, - "description" : { - "type" : "string" - } - }, - "required" : [ "name", "description" ] - }, - "ApiEvaluationStartMessage" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "templateId" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "type" : { - "$ref" : "#/components/schemas/ApiEvaluationType" - }, - "properties" : { - "$ref" : "#/components/schemas/RunProperties" - } - }, - "required" : [ "templateId", "name", "type", "properties" ] - }, - "ApiEvaluationTemplate" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "description" : { - "type" : "string" - }, - "created" : { - "type" : "integer", - "format" : "int64" - }, - "modified" : { - "type" : "integer", - "format" : "int64" - }, - "taskTypes" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTaskType" - } - }, - "taskGroups" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTaskGroup" - } - }, - "tasks" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTaskTemplate" - } - }, - "teams" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTeam" - } - }, - "teamGroups" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTeamGroup" - } - }, - "judges" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - }, - "required" : [ "id", "name", "taskTypes", "taskGroups", "tasks", "teams", "teamGroups", "judges" ] - }, - "ApiEvaluationTemplateOverview" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "description" : { - "type" : "string" - }, - "taskCount" : { - "type" : "integer", - "format" : "int32" - }, - "teamCount" : { - "type" : "integer", - "format" : "int32" - } - }, - "required" : [ "id", "name", "taskCount", "teamCount" ] - }, - "ApiHint" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "type" : { - "$ref" : "#/components/schemas/ApiHintType" - }, - "start" : { - "type" : "integer", - "format" : "int64" - }, - "end" : { - "type" : "integer", - "format" : "int64" - }, - "description" : { - "type" : "string" - }, - "path" : { - "type" : "string" - }, - "dataType" : { - "type" : "string" - }, - "mediaItem" : { - "type" : "string" - }, - "range" : { - "$ref" : "#/components/schemas/ApiTemporalRange" - } - }, - "required" : [ "type" ] - }, - "ApiHintContent" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "taskId" : { - "type" : "string" - }, - "sequence" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiContentElement" - } - }, - "loop" : { - "type" : "boolean" - } - }, - "required" : [ "taskId", "sequence", "loop" ] - }, - "ApiHintType" : { - "type" : "string", - "enum" : [ "EMPTY", "TEXT", "VIDEO", "IMAGE" ] - }, - "ApiTarget" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "type" : { - "$ref" : "#/components/schemas/ApiTargetType" - }, - "target" : { - "type" : "string" - }, - "range" : { - "$ref" : "#/components/schemas/ApiTemporalRange" - } - }, - "required" : [ "type" ] - }, - "ApiTargetContent" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "taskId" : { - "type" : "string" - }, - "sequence" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiContentElement" - } - } - }, - "required" : [ "taskId", "sequence" ] - }, - "ApiTargetType" : { - "type" : "string", - "enum" : [ "JUDGEMENT", "JUDGEMENT_WITH_VOTE", "MEDIA_ITEM", "MEDIA_ITEM_TEMPORAL_RANGE", "TEXT" ] - }, - "ApiTaskGroup" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "name" : { - "type" : "string" - }, - "type" : { - "type" : "string" - } - }, - "required" : [ "name", "type" ] - }, - "ApiTaskTemplate" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "taskGroup" : { - "type" : "string" - }, - "taskType" : { - "type" : "string" - }, - "duration" : { - "type" : "integer", - "format" : "int64" - }, - "collectionId" : { - "type" : "string" - }, - "targets" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTarget" - } - }, - "hints" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiHint" - } - }, - "comment" : { - "type" : "string" - } - }, - "required" : [ "name", "taskGroup", "taskType", "duration", "collectionId", "targets", "hints", "comment" ] - }, - "ApiTaskType" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "name" : { - "type" : "string" - }, - "duration" : { - "type" : "integer", - "format" : "int64" - }, - "targetOption" : { - "$ref" : "#/components/schemas/ApiTargetOption" - }, - "hintOptions" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiHintOption" - } - }, - "submissionOptions" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiSubmissionOption" - } - }, - "taskOptions" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTaskOption" - } - }, - "scoreOption" : { - "$ref" : "#/components/schemas/ApiScoreOption" - }, - "configuration" : { - "type" : "object", - "additionalProperties" : { - "type" : "string" - } - } - }, - "required" : [ "name", "duration", "targetOption", "hintOptions", "submissionOptions", "taskOptions", "scoreOption", "configuration" ] - }, - "ApiHintOption" : { - "type" : "string", - "enum" : [ "IMAGE_ITEM", "VIDEO_ITEM_SEGMENT", "TEXT", "EXTERNAL_IMAGE", "EXTERNAL_VIDEO" ] - }, - "ApiScoreOption" : { - "type" : "string", - "enum" : [ "KIS", "AVS", "LEGACY_AVS" ] - }, - "ApiSubmissionOption" : { - "type" : "string", - "enum" : [ "NO_DUPLICATES", "LIMIT_CORRECT_PER_TEAM", "LIMIT_WRONG_PER_TEAM", "LIMIT_TOTAL_PER_TEAM", "LIMIT_CORRECT_PER_MEMBER", "TEMPORAL_SUBMISSION", "TEXTUAL_SUBMISSION", "ITEM_SUBMISSION", "MINIMUM_TIME_GAP" ] - }, - "ApiTargetOption" : { - "type" : "string", - "enum" : [ "SINGLE_MEDIA_ITEM", "SINGLE_MEDIA_SEGMENT", "JUDGEMENT", "VOTE", "TEXT" ] - }, - "ApiTaskOption" : { - "type" : "string", - "enum" : [ "HIDDEN_RESULTS", "MAP_TO_SEGMENT", "PROLONG_ON_SUBMISSION" ] - }, - "ApiTeam" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "color" : { - "type" : "string" - }, - "users" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiUser" - } - }, - "logoData" : { - "type" : "string" - }, - "teamId" : { - "type" : "string" - } - }, - "required" : [ "users", "teamId" ] - }, - "ApiTeamAggregatorType" : { - "type" : "string", - "enum" : [ "MIN", "MAX", "MEAN", "LAST" ] - }, - "ApiTeamGroup" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "teams" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ApiTeam" - } - }, - "aggregation" : { - "$ref" : "#/components/schemas/ApiTeamAggregatorType" - } - }, - "required" : [ "teams", "aggregation" ] - }, - "ApiRole" : { - "type" : "string", - "enum" : [ "ANYONE", "VIEWER", "PARTICIPANT", "JUDGE", "ADMIN" ] - }, - "ApiUser" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "id" : { - "type" : "string" - }, - "username" : { - "type" : "string" - }, - "role" : { - "$ref" : "#/components/schemas/ApiRole" - }, - "sessionId" : { - "type" : "string" - } - } - }, - "ApiUserRequest" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "username" : { - "type" : "string" - }, - "password" : { - "type" : "string" - }, - "role" : { - "$ref" : "#/components/schemas/ApiRole" - } - }, - "required" : [ "username" ] - }, - "QueryEvent" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "timestamp" : { - "type" : "integer", - "format" : "int64" - }, - "category" : { - "$ref" : "#/components/schemas/QueryEventCategory" - }, - "type" : { - "type" : "string" - }, - "value" : { - "type" : "string" - } - }, - "required" : [ "timestamp", "category", "type", "value" ] - }, - "QueryEventCategory" : { - "type" : "string", - "enum" : [ "TEXT", "IMAGE", "SKETCH", "FILTER", "BROWSING", "COOPERATION", "OTHER" ] - }, - "QueryEventLog" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "timestamp" : { - "type" : "integer", - "format" : "int64" - }, - "events" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/QueryEvent" - } - }, - "serverTimeStamp$backend" : { - "type" : "integer", - "format" : "int64" - } - }, - "required" : [ "timestamp", "events", "serverTimeStamp$backend" ] - }, - "QueryResult" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "item" : { - "type" : "string" - }, - "segment" : { - "type" : "integer", - "format" : "int32" - }, - "frame" : { - "type" : "integer", - "format" : "int32" - }, - "score" : { - "type" : "number", - "format" : "double" - }, - "rank" : { - "type" : "integer", - "format" : "int32" - } - }, - "required" : [ "item" ] - }, - "QueryResultLog" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "timestamp" : { - "type" : "integer", - "format" : "int64" - }, - "sortType" : { - "type" : "string" - }, - "resultSetAvailability" : { - "type" : "string" - }, - "results" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/QueryResult" - } - }, - "events" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/QueryEvent" - } - }, - "serverTimeStamp$backend" : { - "type" : "integer", - "format" : "int64" - } - }, - "required" : [ "timestamp", "sortType", "resultSetAvailability", "results", "events", "serverTimeStamp$backend" ] - }, - "TemporalPoint" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { } - }, - "TemporalRange" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "start" : { - "$ref" : "#/components/schemas/TemporalPoint" - }, - "end" : { - "$ref" : "#/components/schemas/TemporalPoint" - }, - "center" : { - "type" : "integer", - "format" : "int64" - } - }, - "required" : [ "start", "end", "center" ] - }, - "RunProperties" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "participantCanView" : { - "type" : "boolean" - }, - "shuffleTasks" : { - "type" : "boolean" - }, - "allowRepeatedTasks" : { - "type" : "boolean" - }, - "limitSubmissionPreviews" : { - "type" : "integer", - "format" : "int32" - } - }, - "required" : [ "participantCanView", "shuffleTasks", "allowRepeatedTasks", "limitSubmissionPreviews" ] - }, - "RunManagerStatus" : { - "type" : "string", - "enum" : [ "CREATED", "ACTIVE", "TERMINATED" ] - } - }, - "securitySchemes" : { - "CookieAuth" : { - "in" : "cookie", - "name" : "SESSIONID", - "type" : "apiKey" - } - } - }, - "servers" : [ ], - "security" : [ ] +{ + "openapi" : "3.0.3", + "info" : { + "title" : "DRES API", + "description" : "API for DRES (Distributed Retrieval Evaluation Server), Version 2.0.0", + "contact" : { + "name" : "The DRES Dev Team", + "url" : "https://dres.dev" + }, + "license" : { + "name" : "MIT" + }, + "version" : "2.0.0" + }, + "paths" : { + "/api/v1/submit" : { + "get" : { + "tags" : [ "Submission" ], + "summary" : "Endpoint to accept submissions", + "description" : "This has been the submission endpoint for version 1. Please refrain from using it and migrate to the v2 endpoint.", + "operationId" : "getApiV1Submit", + "parameters" : [ { + "name" : "collection", + "in" : "query", + "description" : "Collection identifier. Optional, in which case the default collection for the run will be considered.", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "item", + "in" : "query", + "description" : "Identifier for the actual media object or media file.", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "text", + "in" : "query", + "description" : "Text to be submitted. ONLY for tasks with target type TEXT. If this parameter is provided, it superseeds all athers.", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "frame", + "in" : "query", + "description" : "Frame number for media with temporal progression (e.g., video).", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : true, + "schema" : { + "type" : "integer", + "format" : "int32" + } + }, { + "name" : "shot", + "in" : "query", + "description" : "Shot number for media with temporal progression (e.g., video).", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : true, + "schema" : { + "type" : "integer", + "format" : "int32" + } + }, { + "name" : "timecode", + "in" : "query", + "description" : "Timecode for media with temporal progression (e.g,. video).", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "session", + "in" : "query", + "description" : "Session Token", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessfulSubmissionsStatus" + } + } + } + }, + "202" : { + "description" : "Accepted", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessfulSubmissionsStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "412" : { + "description" : "Precondition Failed", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : true, + "security" : [ ] + } + }, + "/api/v2/client/evaluation/currentTask/{evaluationId}" : { + "get" : { + "tags" : [ "Evaluation Client" ], + "summary" : "Returns an overview of the currently active task for a run.", + "operationId" : "getApiV2ClientEvaluationCurrentTaskByEvaluationId", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "session", + "in" : "query", + "description" : "Session Token", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiTaskTemplateInfo" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/client/evaluation/list" : { + "get" : { + "tags" : [ "Evaluation Client" ], + "summary" : "Lists an overview of all evaluation runs visible to the current client.", + "operationId" : "getApiV2ClientEvaluationList", + "parameters" : [ { + "name" : "session", + "in" : "query", + "description" : "Session Token", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiEvaluationInfo" + } + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/collection" : { + "post" : { + "tags" : [ "Collection" ], + "summary" : "Adds a new media collection.", + "operationId" : "postApiV2Collection", + "parameters" : [ ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiMediaCollection" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + }, + "patch" : { + "tags" : [ "Collection" ], + "summary" : "Updates a media collection", + "operationId" : "patchApiV2Collection", + "parameters" : [ ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiMediaCollection" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/collection/list" : { + "get" : { + "tags" : [ "Collection" ], + "summary" : "Lists all available media collections with basic information about their content.", + "operationId" : "getApiV2CollectionList", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiMediaCollection" + } + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/collection/{collectionId}" : { + "delete" : { + "tags" : [ "Collection" ], + "summary" : "Deletes a media collection identified by a collection id.", + "operationId" : "deleteApiV2CollectionByCollectionId", + "parameters" : [ { + "name" : "collectionId", + "in" : "path", + "description" : "Collection ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + }, + "get" : { + "tags" : [ "Collection" ], + "summary" : "Shows the content of the specified media collection.", + "operationId" : "getApiV2CollectionByCollectionId", + "parameters" : [ { + "name" : "collectionId", + "in" : "path", + "description" : "Collection ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiPopulatedMediaCollection" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/collection/{collectionId}/random" : { + "get" : { + "tags" : [ "Collection" ], + "summary" : "Selects and returns a random media item from a given media collection.", + "operationId" : "getApiV2CollectionByCollectionIdRandom", + "parameters" : [ { + "name" : "collectionId", + "in" : "path", + "description" : "Collection ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiMediaItem" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/collection/{collectionId}/resolve" : { + "post" : { + "tags" : [ "Collection" ], + "summary" : "Resolves a list of media item names to media items", + "operationId" : "postApiV2CollectionByCollectionIdResolve", + "parameters" : [ { + "name" : "collectionId", + "in" : "path", + "description" : "Collection ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiMediaItem" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/collection/{collectionId}/{startsWith}" : { + "get" : { + "tags" : [ "Collection" ], + "summary" : "Lists media items from a given media collection whose name start with the given string.", + "operationId" : "getApiV2CollectionByCollectionIdByStartsWith", + "parameters" : [ { + "name" : "collectionId", + "in" : "path", + "description" : "Collection ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "startsWith", + "in" : "path", + "description" : "Name the item(s) should start with.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiMediaItem" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/download/evaluation/{evaluationId}" : { + "get" : { + "tags" : [ "Download" ], + "summary" : "Provides a JSON download of the entire evaluation structure.", + "operationId" : "getApiV2DownloadEvaluationByEvaluationId", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "text/plain" : { + "schema" : { + "type" : "string" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/download/evaluation/{evaluationId}/scores" : { + "get" : { + "tags" : [ "Download" ], + "summary" : "Provides a CSV download with the scores for a given evaluation.", + "operationId" : "getApiV2DownloadEvaluationByEvaluationIdScores", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "text/plain" : { + "schema" : { + "type" : "string" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/download/template/{templateId}" : { + "get" : { + "tags" : [ "Download" ], + "summary" : "Provides a JSON download of the entire evaluation template structure.", + "operationId" : "getApiV2DownloadTemplateByTemplateId", + "parameters" : [ { + "name" : "templateId", + "in" : "path", + "description" : "The evaluation template ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "text/plain" : { + "schema" : { + "type" : "string" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/create" : { + "post" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Creates a new evaluation run from an existing evaluation template. This is a method for administrators.", + "operationId" : "postApiV2EvaluationAdminCreate", + "parameters" : [ ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiEvaluationStartMessage" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/adjust/{duration}" : { + "patch" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Adjusts the duration of a running task. This is a method for admins.", + "operationId" : "patchApiV2EvaluationAdminByEvaluationIdAdjustByDuration", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "duration", + "in" : "path", + "description" : "Duration to add. Can be negative.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "integer", + "format" : "int32" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/override/{answerSetId}" : { + "patch" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Override the verdict status of an AnswerSet.", + "operationId" : "patchApiV2EvaluationAdminByEvaluationIdOverrideByAnswerSetId", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "answerSetId", + "in" : "path", + "description" : "The ID of the AnswerSet.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiOverrideAnswerSetVerdictDto" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/overview" : { + "get" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Provides a complete overview of an evaluation.", + "operationId" : "getApiV2EvaluationAdminByEvaluationIdOverview", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiEvaluationOverview" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/properties" : { + "patch" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Changes the properties of an evaluation.", + "operationId" : "patchApiV2EvaluationAdminByEvaluationIdProperties", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiRunProperties" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/start" : { + "post" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Starts a evaluation. This is a method for administrators.", + "operationId" : "postApiV2EvaluationAdminByEvaluationIdStart", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/submission/list/{templateId}" : { + "get" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Lists all submissions for a given evaluation and task.", + "operationId" : "getApiV2EvaluationAdminByEvaluationIdSubmissionListByTemplateId", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "templateId", + "in" : "path", + "description" : "The task template ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiSubmissionInfo" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/task/abort" : { + "post" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Aborts the currently running task run. This is a method for admins.", + "operationId" : "postApiV2EvaluationAdminByEvaluationIdTaskAbort", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/task/next" : { + "post" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Moves to and selects the next task within the evaluation. This is a method for admins.", + "operationId" : "postApiV2EvaluationAdminByEvaluationIdTaskNext", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/task/past/list" : { + "get" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Lists all past tasks for a given evaluation.", + "operationId" : "getApiV2EvaluationAdminByEvaluationIdTaskPastList", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTaskTemplateInfo" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/task/previous" : { + "post" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Moves to and selects the previous task. This is a method for admins.", + "operationId" : "postApiV2EvaluationAdminByEvaluationIdTaskPrevious", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/task/start" : { + "post" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Starts the currently active task as a new task run. This is a method for admins.", + "operationId" : "postApiV2EvaluationAdminByEvaluationIdTaskStart", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evalation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/task/switch/{idx}" : { + "post" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Moves to and selects the specified task. This is a method for admins.", + "operationId" : "postApiV2EvaluationAdminByEvaluationIdTaskSwitchByIdx", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "idx", + "in" : "path", + "description" : "Index of the task to switch to.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "integer", + "format" : "int32" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/terminate" : { + "post" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Terminates an evaluation. This is a method for administrators.", + "operationId" : "postApiV2EvaluationAdminByEvaluationIdTerminate", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/viewer/list" : { + "get" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Lists all registered viewers for a evaluation. This is a method for admins.", + "operationId" : "getApiV2EvaluationAdminByEvaluationIdViewerList", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiViewerInfo" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/admin/{evaluationId}/viewer/list/{viewerId}/force" : { + "post" : { + "tags" : [ "Evaluation Administrator" ], + "summary" : "Forces a viewer with the given viewer ID into the READY state. This is a method for admins.", + "operationId" : "postApiV2EvaluationAdminByEvaluationIdViewerListByViewerIdForce", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "viewerId", + "in" : "path", + "description" : "The viewer ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/info/list" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Lists an overview of all evaluations visible to the current user.", + "operationId" : "getApiV2EvaluationInfoList", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiEvaluationInfo" + } + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/state/list" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Lists an overview of all evaluation visible to the current user.", + "operationId" : "getApiV2EvaluationStateList", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiEvaluationState" + } + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/info" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Returns basic information about a specific evaluation.", + "operationId" : "getApiV2EvaluationByEvaluationIdInfo", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiEvaluationInfo" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/judge" : { + "post" : { + "tags" : [ "Judgement" ], + "summary" : "Endpoint to post a judgement for a previously detached judgement request.", + "operationId" : "postApiV2EvaluationByEvaluationIdJudge", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiJudgement" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "408" : { + "description" : "On timeout: Judgement took too long", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/judge/next" : { + "get" : { + "tags" : [ "Judgement" ], + "summary" : "Gets the next open submission that is waiting to be judged.", + "operationId" : "getApiV2EvaluationByEvaluationIdJudgeNext", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiJudgementRequest" + } + } + } + }, + "202" : { + "description" : "Accepted", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/judge/status" : { + "get" : { + "tags" : [ "Judgement" ], + "summary" : "Retrieves the status of all judgement validators.", + "operationId" : "getApiV2EvaluationByEvaluationIdJudgeStatus", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiJudgementValidatorStatus" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/judge/vote" : { + "post" : { + "tags" : [ "Judgement" ], + "summary" : "Returns a Vote.", + "operationId" : "postApiV2EvaluationByEvaluationIdJudgeVote", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiVote" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/scoreboard/list" : { + "get" : { + "tags" : [ "Evaluation Scores" ], + "summary" : "Returns a list of available scoreboard names for the given evaluation.", + "operationId" : "getApiV2EvaluationByEvaluationIdScoreboardList", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/state" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Returns the state of a specific evaluation.", + "operationId" : "getApiV2EvaluationByEvaluationIdState", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiEvaluationState" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/submission/list" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Returns all submissions for the current task run, if one is either running or has just ended.", + "operationId" : "getApiV2EvaluationByEvaluationIdSubmissionList", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiSubmission" + } + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/submission/list/after/{timestamp}" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Returns all submissions for the current task that are more recent than the provided timestamp, if a task is either running or has just ended.", + "operationId" : "getApiV2EvaluationByEvaluationIdSubmissionListAfterByTimestamp", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "timestamp", + "in" : "path", + "description" : "Timestamp that marks the lower bound for returned submissions.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiSubmission" + } + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/task" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Returns the information for the currently active task template (i.e., the one that is currently selected).", + "operationId" : "getApiV2EvaluationByEvaluationIdTask", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiTaskTemplateInfo" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/task/{taskId}/submission/list" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Returns the submissions of a specific task run, regardless of whether it is currently running or has ended.", + "operationId" : "getApiV2EvaluationByEvaluationIdTaskByTaskIdSubmissionList", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "taskId", + "in" : "path", + "description" : "Task ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiSubmission" + } + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/template/task/{taskTemplateId}/hint" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Returns the task hint for the specified task template in the context of the provided evaluation.", + "operationId" : "getHintForTaskTemplateId", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The ID of the evaluation.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "taskTemplateId", + "in" : "path", + "description" : "The ID of the task template.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiHintContent" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/template/task/{taskTemplateId}/target" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Returns the task target for the specified task template in the context of the provided evaluation.", + "operationId" : "getTargetForTaskTemplateId", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The ID of the evaluation.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "taskTemplateId", + "in" : "path", + "description" : "The ID of the task template.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiTargetContent" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/vote/next" : { + "get" : { + "tags" : [ "Judgement" ], + "summary" : "Gets the next open submission that is waiting to be voted on.", + "operationId" : "getApiV2EvaluationByEvaluationIdVoteNext", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiJudgementRequest" + } + } + } + }, + "202" : { + "description" : "Accepted", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/evaluation/{evaluationId}/{taskId}/ready" : { + "get" : { + "tags" : [ "Evaluation" ], + "summary" : "Signals that a viewer is ready to show the hints for a particular task.", + "operationId" : "getApiV2EvaluationByEvaluationIdByTaskIdReady", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "taskId", + "in" : "path", + "description" : "The task ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/external/find/{startsWith}" : { + "get" : { + "tags" : [ "Collection" ], + "summary" : "Lists items from the external media collection whose name start with the given string.", + "operationId" : "getApiV2ExternalFindByStartsWith", + "parameters" : [ { + "name" : "startsWith", + "in" : "path", + "description" : "Name starts with.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/external/list" : { + "get" : { + "tags" : [ "Collection" ], + "summary" : "Lists items from the external media collection.", + "operationId" : "getApiV2ExternalList", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/external/upload/{name}" : { + "post" : { + "tags" : [ "Collection" ], + "summary" : "Receives a new external (media) item to be used in query hints.", + "operationId" : "postApiV2ExternalUploadByName", + "parameters" : [ { + "name" : "name", + "in" : "path", + "description" : "The name of the file", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "description" : "The file to upload.", + "content" : { + "image/png" : { + "schema" : { + "type" : "string", + "format" : "binary" + } + }, + "video/mp4" : { + "schema" : { + "type" : "string", + "format" : "binary" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/external/{name}" : { + "delete" : { + "tags" : [ "Collection" ], + "summary" : "Deletes the external item with this name, as far as it exists.", + "operationId" : "deleteApiV2ExternalByName", + "parameters" : [ { + "name" : "name", + "in" : "path", + "description" : "Filename of external item to delete", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "On success (the item is deleted)", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "For caller error", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "If the caller has not the appropriate rights. Requires role admin", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "If no such external file exists", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/log/query" : { + "post" : { + "tags" : [ "Log" ], + "summary" : "Accepts query logs from participants", + "operationId" : "postApiV2LogQuery", + "parameters" : [ { + "name" : "session", + "in" : "query", + "description" : "Session Token", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/QueryEventLog" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/log/result" : { + "post" : { + "tags" : [ "Log" ], + "summary" : "Accepts result logs from participants.", + "operationId" : "postApiV2LogResult", + "parameters" : [ { + "name" : "session", + "in" : "query", + "description" : "Session Token", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/QueryResultLog" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/login" : { + "post" : { + "tags" : [ "User" ], + "summary" : "Sets roles for session based on user account and returns a session cookie.", + "operationId" : "postApiV2Login", + "parameters" : [ ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/LoginRequest" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiUser" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/logout" : { + "get" : { + "tags" : [ "User" ], + "summary" : "Clears all user roles of the current session.", + "operationId" : "getApiV2Logout", + "parameters" : [ { + "name" : "session", + "in" : "query", + "description" : "Session Token", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/mediaItem" : { + "post" : { + "tags" : [ "Collection" ], + "summary" : "Adds a media item to the specified media collection.", + "operationId" : "postApiV2MediaItem", + "parameters" : [ ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiMediaItem" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/mediaItem/{mediaId}" : { + "delete" : { + "tags" : [ "Collection" ], + "summary" : "Tries to delete a specific media item.", + "operationId" : "deleteApiV2MediaItemByMediaId", + "parameters" : [ { + "name" : "mediaId", + "in" : "path", + "description" : "Media item ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/mediaItem/{mediaItemId}" : { + "get" : { + "tags" : [ "Collection" ], + "summary" : "Selects and returns a specific media item.", + "operationId" : "getApiV2MediaItemByMediaItemId", + "parameters" : [ { + "name" : "mediaItemId", + "in" : "path", + "description" : "Media item ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiMediaItem" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/mediaitem" : { + "patch" : { + "tags" : [ "Collection" ], + "summary" : "Updates a Media Item to the specified Media Collection.", + "operationId" : "patchApiV2Mediaitem", + "parameters" : [ ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiMediaItem" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/preview/{mediaItemId}" : { + "get" : { + "tags" : [ "Media" ], + "summary" : "Returns a preview image from a media item.", + "operationId" : "getApiV2PreviewByMediaItemId", + "parameters" : [ { + "name" : "mediaItemId", + "in" : "path", + "description" : "Unique ID of the media item.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "image/jpeg" : { } + } + }, + "202" : { + "description" : "Accepted" + }, + "400" : { + "description" : "Bad Request" + }, + "404" : { + "description" : "Not Found" + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/preview/{mediaItemId}/{start}/{end}" : { + "get" : { + "tags" : [ "Media" ], + "summary" : "Returns a preview video from a media item. ", + "operationId" : "getApiV2PreviewByMediaItemIdByStartByEnd", + "parameters" : [ { + "name" : "mediaItemId", + "in" : "path", + "description" : "Unique ID of the media item. Must be a video.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "start", + "in" : "path", + "description" : "Start timestamp into the video in milliseconds.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "integer", + "format" : "int64" + } + }, { + "name" : "end", + "in" : "path", + "description" : "End timestamp into the video in milliseconds.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "video/mp4" : { } + } + }, + "202" : { + "description" : "Accepted" + }, + "400" : { + "description" : "Bad Request" + }, + "404" : { + "description" : "Not Found" + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/preview/{mediaItemId}/{timestamp}" : { + "get" : { + "tags" : [ "Media" ], + "summary" : "Returns a preview image from a media item.", + "operationId" : "getApiV2PreviewByMediaItemIdByTimestamp", + "parameters" : [ { + "name" : "mediaItemId", + "in" : "path", + "description" : "Unique ID of the media item.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "timestamp", + "in" : "path", + "description" : "Time into the video in milliseconds (for videos only).", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "image/jpeg" : { } + } + }, + "202" : { + "description" : "Accepted" + }, + "400" : { + "description" : "Bad Request" + }, + "404" : { + "description" : "Not Found" + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/score/evaluation/{evaluationId}" : { + "get" : { + "tags" : [ "Evaluation Scores" ], + "summary" : "Returns the score overviews of a specific evaluation run.", + "operationId" : "getApiV2ScoreEvaluationByEvaluationId", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiScoreOverview" + } + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/score/evaluation/{evaluationId}/current" : { + "get" : { + "tags" : [ "Evaluation Scores" ], + "summary" : "Returns the overviews of all score boards for the current task, if it is either running or has just ended.", + "operationId" : "getApiV2ScoreEvaluationByEvaluationIdCurrent", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiScoreOverview" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/score/evaluation/{evaluationId}/history/{taskId}" : { + "get" : { + "tags" : [ "Evaluation Scores" ], + "summary" : "Returns the overviews of all score boards for the specified task.", + "operationId" : "getApiV2ScoreEvaluationByEvaluationIdHistoryByTaskId", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "taskId", + "in" : "path", + "description" : "The task ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiScoreOverview" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/score/evaluation/{evaluationId}/series/{scoreboard}" : { + "get" : { + "tags" : [ "Evaluation Scores" ], + "summary" : "Returns a time series for a given run and scoreboard.", + "operationId" : "getApiV2ScoreEvaluationByEvaluationIdSeriesByScoreboard", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "scoreboard", + "in" : "path", + "description" : "Name of the scoreboard to return the time series for.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiScoreSeries" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/score/evaluation/{evaluationId}/teamGroup/list" : { + "get" : { + "tags" : [ "Evaluation Scores" ], + "summary" : "Returns team group aggregated values of the current task.", + "operationId" : "getApiV2ScoreEvaluationByEvaluationIdTeamGroupList", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The evaluation ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTeamGroupValue" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "403" : { + "description" : "Forbidden", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/status/info" : { + "get" : { + "tags" : [ "Status" ], + "summary" : "Returns an overview of the server properties.", + "operationId" : "getApiV2StatusInfo", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/DresInfo" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/status/time" : { + "get" : { + "tags" : [ "Status" ], + "summary" : "Returns the current time on the server.", + "operationId" : "getApiV2StatusTime", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CurrentTime" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/submit/{evaluationId}" : { + "post" : { + "tags" : [ "Submission" ], + "summary" : "Endpoint to accept submissions.", + "operationId" : "postApiV2SubmitByEvaluationId", + "parameters" : [ { + "name" : "evaluationId", + "in" : "path", + "description" : "The ID of the evaluation the submission belongs to.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "session", + "in" : "query", + "description" : "Session Token", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiClientSubmission" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "The submission was accepted by the server and there was a verdict", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessfulSubmissionsStatus" + } + } + } + }, + "202" : { + "description" : "The submission was accepted by the server and there has not yet been a verdict available", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessfulSubmissionsStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "412" : { + "description" : "The submission was rejected by the server", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/template" : { + "post" : { + "tags" : [ "Template" ], + "summary" : "Creates a new evaluation template.", + "operationId" : "postApiV2Template", + "parameters" : [ ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiCreateEvaluation" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/template/list" : { + "get" : { + "tags" : [ "Template" ], + "summary" : "Lists an overview of all available evaluation templates with basic information about their content.", + "operationId" : "getApiV2TemplateList", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiEvaluationTemplateOverview" + } + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/template/team" : { + "post" : { + "tags" : [ "Template", "Team" ], + "summary" : "Creates a new team.", + "operationId" : "postApiV2TemplateTeam", + "parameters" : [ ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiTeam" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/template/team/list" : { + "get" : { + "tags" : [ "Template", "Team" ], + "summary" : "Lists all the teams across all evaluations.", + "operationId" : "getApiV2TemplateTeamList", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTeam" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/template/team/{teamId}" : { + "post" : { + "tags" : [ "Template", "Team" ], + "summary" : "Creates a new team.", + "operationId" : "postApiV2TemplateTeamByTeamId", + "parameters" : [ { + "name" : "teamId", + "in" : "path", + "description" : "The team ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiTeam" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/template/type-presets/list" : { + "get" : { + "tags" : [ "Template" ], + "summary" : "Lists the task type presets available. Both, shipped with DRES and custom ones.", + "operationId" : "getApiV2TemplateTypePresetsList", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTaskType" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/template/{templateId}" : { + "delete" : { + "tags" : [ "Template" ], + "summary" : "Deletes the evaluation template with the given template ID.", + "operationId" : "deleteApiV2TemplateByTemplateId", + "parameters" : [ { + "name" : "templateId", + "in" : "path", + "description" : "The evaluation template ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + }, + "get" : { + "tags" : [ "Template" ], + "summary" : "Loads the detailed definition of a specific evaluation template.", + "operationId" : "getApiV2TemplateByTemplateId", + "parameters" : [ { + "name" : "templateId", + "in" : "path", + "description" : "The evaluation template ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiEvaluationTemplate" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + }, + "patch" : { + "tags" : [ "Template" ], + "summary" : "Updates an existing evaluation template.", + "operationId" : "patchApiV2TemplateByTemplateId", + "parameters" : [ { + "name" : "templateId", + "in" : "path", + "description" : "The evaluation template ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiEvaluationTemplate" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SuccessStatus" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "409" : { + "description" : "Conflict", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/template/{templateId}/clone" : { + "post" : { + "tags" : [ "Template" ], + "summary" : "Clones an existing evaluation template.", + "operationId" : "postApiV2TemplateByTemplateIdClone", + "parameters" : [ { + "name" : "templateId", + "in" : "path", + "description" : "The evaluation template ID to clone.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiEvaluationTemplate" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "409" : { + "description" : "Conflict", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/template/{templateId}/task/list" : { + "get" : { + "tags" : [ "Template" ], + "summary" : "Lists the task templates contained in a specific evaluation template.", + "operationId" : "getApiV2TemplateByTemplateIdTaskList", + "parameters" : [ { + "name" : "templateId", + "in" : "path", + "description" : "The evaluation template ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTaskTemplate" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/template/{templateId}/team/list" : { + "get" : { + "tags" : [ "Template" ], + "summary" : "Lists all the teams of a specific evaluation template.", + "operationId" : "getApiV2TemplateByTemplateIdTeamList", + "parameters" : [ { + "name" : "templateId", + "in" : "path", + "description" : "The evaluation template ID.", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTeam" + } + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "401" : { + "description" : "Unauthorized", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/user" : { + "post" : { + "tags" : [ "User" ], + "summary" : "Creates a new user, if the username is not already taken. Requires ADMIN privileges", + "operationId" : "postApiV2User", + "parameters" : [ ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiUserRequest" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiUser" + } + } + } + }, + "400" : { + "description" : "If the username is already taken", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "500" : { + "description" : "Server Error", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + }, + "get" : { + "tags" : [ "User" ], + "summary" : "Get information about the current user.", + "operationId" : "getApiV2User", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiUser" + } + } + } + }, + "500" : { + "description" : "Server Error", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/user/list" : { + "get" : { + "tags" : [ "User" ], + "summary" : "Lists all available users.", + "operationId" : "getApiV2UserList", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiUser" + } + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/user/session" : { + "get" : { + "tags" : [ "User" ], + "summary" : "Get current sessionId", + "operationId" : "getApiV2UserSession", + "parameters" : [ { + "name" : "session", + "in" : "query", + "description" : "Session Token", + "required" : false, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "text/plain" : { + "schema" : { + "type" : "string" + } + } + } + }, + "500" : { + "description" : "Server Error", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/user/session/active/list" : { + "get" : { + "tags" : [ "User" ], + "summary" : "Get details of all current user sessions", + "operationId" : "getApiV2UserSessionActiveList", + "parameters" : [ ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiUser" + } + } + } + } + }, + "500" : { + "description" : "Server Error", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + }, + "/api/v2/user/{userId}" : { + "delete" : { + "tags" : [ "User" ], + "summary" : "Deletes the specified user. Requires ADMIN privileges", + "operationId" : "deleteApiV2UserByUserId", + "parameters" : [ { + "name" : "userId", + "in" : "path", + "description" : "User ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiUser" + } + } + } + }, + "404" : { + "description" : "If the user could not be found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "500" : { + "description" : "Server Error", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + }, + "patch" : { + "tags" : [ "User" ], + "summary" : "Updates the specified user, if it exists. Anyone is allowed to update their data, however only ADMINs are allowed to update anyone.", + "operationId" : "patchApiV2UserByUserId", + "parameters" : [ { + "name" : "userId", + "in" : "path", + "description" : "User ID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiUserRequest" + } + } + }, + "required" : false + }, + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiUser" + } + } + } + }, + "400" : { + "description" : "Bad Request", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "404" : { + "description" : "Not Found", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "500" : { + "description" : "Server Error", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + }, + "get" : { + "tags" : [ "User" ], + "summary" : "Gets details of the user with the given id.", + "operationId" : "getApiV2UserByUserId", + "parameters" : [ { + "name" : "userId", + "in" : "path", + "description" : "User's UID", + "required" : true, + "deprecated" : false, + "allowEmptyValue" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiUser" + } + } + } + }, + "404" : { + "description" : "If the user could not be found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + }, + "500" : { + "description" : "Server Error", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorStatus" + } + } + } + } + }, + "deprecated" : false, + "security" : [ ] + } + } + }, + "components" : { + "schemas" : { + "LoginRequest" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "username" : { + "type" : "string" + }, + "password" : { + "type" : "string" + } + }, + "required" : [ "username", "password" ] + }, + "ApiMediaCollection" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "description" : { + "type" : "string" + }, + "basePath" : { + "type" : "string" + }, + "itemCount" : { + "type" : "integer", + "format" : "int32" + } + }, + "required" : [ "name", "itemCount" ] + }, + "ApiMediaItem" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "mediaItemId" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "type" : { + "$ref" : "#/components/schemas/ApiMediaType" + }, + "collectionId" : { + "type" : "string" + }, + "location" : { + "type" : "string" + }, + "durationMs" : { + "type" : "integer", + "format" : "int64" + }, + "fps" : { + "type" : "number", + "format" : "float" + }, + "metadata" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiMediaItemMetaDataEntry" + } + } + }, + "required" : [ "mediaItemId", "name", "type", "collectionId", "location", "metadata" ] + }, + "ApiMediaItemMetaDataEntry" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "key" : { + "type" : "string" + }, + "value" : { + "type" : "string" + } + }, + "required" : [ "key", "value" ] + }, + "ApiMediaType" : { + "type" : "string", + "enum" : [ "IMAGE", "VIDEO", "TEXT" ] + }, + "ApiPopulatedMediaCollection" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "collection" : { + "$ref" : "#/components/schemas/ApiMediaCollection" + }, + "items" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiMediaItem" + } + } + }, + "required" : [ "collection", "items" ] + }, + "ApiTemporalPoint" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "value" : { + "type" : "string" + }, + "unit" : { + "$ref" : "#/components/schemas/ApiTemporalUnit" + } + }, + "required" : [ "value", "unit" ] + }, + "ApiTemporalRange" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "start" : { + "$ref" : "#/components/schemas/ApiTemporalPoint" + }, + "end" : { + "$ref" : "#/components/schemas/ApiTemporalPoint" + } + }, + "required" : [ "start", "end" ] + }, + "ApiTemporalUnit" : { + "type" : "string", + "enum" : [ "FRAME_NUMBER", "SECONDS", "MILLISECONDS", "TIMECODE" ] + }, + "ApiEvaluationInfo" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "type" : { + "$ref" : "#/components/schemas/ApiEvaluationType" + }, + "status" : { + "$ref" : "#/components/schemas/ApiEvaluationStatus" + }, + "properties" : { + "$ref" : "#/components/schemas/ApiRunProperties" + }, + "templateId" : { + "type" : "string" + }, + "templateDescription" : { + "type" : "string" + }, + "teams" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTeamInfo" + } + }, + "taskTemplates" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTaskTemplateInfo" + } + } + }, + "required" : [ "id", "name", "type", "status", "properties", "templateId", "teams", "taskTemplates" ] + }, + "ApiEvaluationOverview" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "state" : { + "$ref" : "#/components/schemas/RunManagerStatus" + }, + "teamOverviews" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTeamTaskOverview" + } + } + }, + "required" : [ "state", "teamOverviews" ] + }, + "ApiEvaluationState" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "evaluationId" : { + "type" : "string" + }, + "evaluationStatus" : { + "$ref" : "#/components/schemas/ApiEvaluationStatus" + }, + "taskId" : { + "type" : "string" + }, + "taskStatus" : { + "$ref" : "#/components/schemas/ApiTaskStatus" + }, + "taskTemplateId" : { + "type" : "string" + }, + "timeLeft" : { + "type" : "integer", + "format" : "int64" + }, + "timeElapsed" : { + "type" : "integer", + "format" : "int64" + } + }, + "required" : [ "evaluationId", "evaluationStatus", "taskStatus", "timeLeft", "timeElapsed" ] + }, + "ApiEvaluationStatus" : { + "type" : "string", + "enum" : [ "CREATED", "ACTIVE", "TERMINATED" ] + }, + "ApiEvaluationType" : { + "type" : "string", + "enum" : [ "SYNCHRONOUS", "ASYNCHRONOUS", "NON_INTERACTIVE" ] + }, + "ApiOverrideAnswerSetVerdictDto" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "verdict" : { + "$ref" : "#/components/schemas/ApiVerdictStatus" + } + }, + "required" : [ "verdict" ] + }, + "ApiSubmissionInfo" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "evaluationId" : { + "type" : "string" + }, + "taskId" : { + "type" : "string" + }, + "submissions" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiSubmission" + } + } + }, + "required" : [ "evaluationId", "taskId", "submissions" ] + }, + "ApiTaskOverview" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "type" : { + "type" : "string" + }, + "group" : { + "type" : "string" + }, + "duration" : { + "type" : "integer", + "format" : "int64" + }, + "taskId" : { + "type" : "string" + }, + "status" : { + "$ref" : "#/components/schemas/ApiTaskStatus" + }, + "started" : { + "type" : "integer", + "format" : "int64" + }, + "ended" : { + "type" : "integer", + "format" : "int64" + } + }, + "required" : [ "id", "name", "type", "group", "duration", "taskId", "status" ] + }, + "ApiTaskStatus" : { + "type" : "string", + "enum" : [ "NO_TASK", "CREATED", "PREPARING", "RUNNING", "ENDED", "IGNORED" ] + }, + "ApiTaskTemplateInfo" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "templateId" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "taskGroup" : { + "type" : "string" + }, + "taskType" : { + "type" : "string" + }, + "duration" : { + "type" : "integer", + "format" : "int64" + } + }, + "required" : [ "templateId", "name", "taskGroup", "taskType", "duration" ] + }, + "ApiTeamInfo" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "color" : { + "type" : "string" + } + }, + "required" : [ "id", "name", "color" ] + }, + "ApiTeamTaskOverview" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "teamId" : { + "type" : "string" + }, + "tasks" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTaskOverview" + } + } + }, + "required" : [ "teamId", "tasks" ] + }, + "ApiViewerInfo" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "viewersId" : { + "type" : "string" + }, + "username" : { + "type" : "string" + }, + "host" : { + "type" : "string" + }, + "ready" : { + "type" : "boolean" + } + }, + "required" : [ "viewersId", "username", "host", "ready" ] + }, + "ApiScore" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "teamId" : { + "type" : "string" + }, + "score" : { + "type" : "number", + "format" : "double" + } + }, + "required" : [ "teamId", "score" ] + }, + "ApiScoreOverview" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "name" : { + "type" : "string" + }, + "taskGroup" : { + "type" : "string" + }, + "scores" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiScore" + } + } + }, + "required" : [ "name", "scores" ] + }, + "ApiScoreSeries" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "team" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "points" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiScoreSeriesPoint" + } + } + }, + "required" : [ "team", "name", "points" ] + }, + "ApiScoreSeriesPoint" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "score" : { + "type" : "number", + "format" : "double" + }, + "timestamp" : { + "type" : "integer", + "format" : "int64" + } + }, + "required" : [ "score", "timestamp" ] + }, + "ApiTeamGroupValue" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "name" : { + "type" : "string" + }, + "value" : { + "type" : "number", + "format" : "double" + } + }, + "required" : [ "name", "value" ] + }, + "ApiAnswer" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "type" : { + "$ref" : "#/components/schemas/ApiAnswerType" + }, + "item" : { + "$ref" : "#/components/schemas/ApiMediaItem" + }, + "text" : { + "type" : "string" + }, + "start" : { + "type" : "integer", + "format" : "int64" + }, + "end" : { + "type" : "integer", + "format" : "int64" + }, + "temporalRange" : { + "$ref" : "#/components/schemas/TemporalRange" + } + }, + "required" : [ "type" ] + }, + "ApiAnswerSet" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "status" : { + "$ref" : "#/components/schemas/ApiVerdictStatus" + }, + "taskId" : { + "type" : "string" + }, + "answers" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiAnswer" + } + } + }, + "required" : [ "id", "status", "taskId", "answers" ] + }, + "ApiAnswerType" : { + "type" : "string", + "enum" : [ "ITEM", "TEMPORAL", "TEXT" ] + }, + "ApiClientAnswer" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "text" : { + "type" : "string" + }, + "mediaItemName" : { + "type" : "string" + }, + "mediaItemCollectionName" : { + "type" : "string" + }, + "start" : { + "type" : "integer", + "format" : "int64" + }, + "end" : { + "type" : "integer", + "format" : "int64" + } + } + }, + "ApiClientAnswerSet" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "taskId" : { + "type" : "string" + }, + "taskName" : { + "type" : "string" + }, + "answers" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiClientAnswer" + } + } + }, + "required" : [ "answers" ] + }, + "ApiClientSubmission" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "answerSets" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiClientAnswerSet" + } + } + }, + "required" : [ "answerSets" ] + }, + "ApiSubmission" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "submissionId" : { + "type" : "string" + }, + "teamId" : { + "type" : "string" + }, + "memberId" : { + "type" : "string" + }, + "teamName" : { + "type" : "string" + }, + "memberName" : { + "type" : "string" + }, + "timestamp" : { + "type" : "integer", + "format" : "int64" + }, + "answers" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiAnswerSet" + } + } + }, + "required" : [ "submissionId", "teamId", "memberId", "teamName", "memberName", "timestamp", "answers" ] + }, + "ApiVerdictStatus" : { + "type" : "string", + "enum" : [ "CORRECT", "WRONG", "INDETERMINATE", "UNDECIDABLE" ] + }, + "ApiJudgement" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "token" : { + "type" : "string" + }, + "validator" : { + "type" : "string" + }, + "verdict" : { + "$ref" : "#/components/schemas/ApiVerdictStatus" + } + }, + "required" : [ "token", "validator", "verdict" ] + }, + "ApiJudgementRequest" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "token" : { + "type" : "string" + }, + "validator" : { + "type" : "string" + }, + "taskDescription" : { + "type" : "string" + }, + "answerSet" : { + "$ref" : "#/components/schemas/ApiAnswerSet" + } + }, + "required" : [ "validator", "taskDescription", "answerSet" ] + }, + "ApiJudgementValidatorStatus" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "validatorName" : { + "type" : "string" + }, + "pending" : { + "type" : "integer", + "format" : "int32" + }, + "open" : { + "type" : "integer", + "format" : "int32" + } + }, + "required" : [ "validatorName", "pending", "open" ] + }, + "ApiVote" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "verdict" : { + "$ref" : "#/components/schemas/ApiVerdictStatus" + } + }, + "required" : [ "verdict" ] + }, + "ErrorStatus" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "status" : { + "type" : "boolean" + }, + "description" : { + "type" : "string" + } + }, + "required" : [ "status", "description" ] + }, + "SuccessStatus" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "status" : { + "type" : "boolean" + }, + "description" : { + "type" : "string" + } + }, + "required" : [ "status", "description" ] + }, + "SuccessfulSubmissionsStatus" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "status" : { + "type" : "boolean" + }, + "submission" : { + "$ref" : "#/components/schemas/ApiVerdictStatus" + }, + "description" : { + "type" : "string" + } + }, + "required" : [ "status", "submission", "description" ] + }, + "CurrentTime" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "timeStamp" : { + "type" : "integer", + "format" : "int64" + } + }, + "required" : [ "timeStamp" ] + }, + "DresInfo" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "version" : { + "type" : "string" + }, + "startTime" : { + "type" : "integer", + "format" : "int64" + }, + "uptime" : { + "type" : "integer", + "format" : "int64" + }, + "os" : { + "type" : "string" + }, + "jvm" : { + "type" : "string" + }, + "args" : { + "type" : "string" + }, + "cores" : { + "type" : "integer", + "format" : "int32" + }, + "freeMemory" : { + "type" : "integer", + "format" : "int64" + }, + "totalMemory" : { + "type" : "integer", + "format" : "int64" + }, + "load" : { + "type" : "number", + "format" : "double" + }, + "availableSeverThreads" : { + "type" : "integer", + "format" : "int32" + } + }, + "required" : [ "version", "startTime", "uptime" ] + }, + "ApiContentElement" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "contentType" : { + "$ref" : "#/components/schemas/ApiContentType" + }, + "content" : { + "type" : "string" + }, + "offset" : { + "type" : "integer", + "format" : "int64" + } + }, + "required" : [ "contentType", "offset" ] + }, + "ApiContentType" : { + "type" : "string", + "enum" : [ "EMPTY", "TEXT", "VIDEO", "IMAGE" ] + }, + "ApiCreateEvaluation" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "name" : { + "type" : "string" + }, + "description" : { + "type" : "string" + } + }, + "required" : [ "name", "description" ] + }, + "ApiEvaluationStartMessage" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "templateId" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "type" : { + "$ref" : "#/components/schemas/ApiEvaluationType" + }, + "properties" : { + "$ref" : "#/components/schemas/ApiRunProperties" + } + }, + "required" : [ "templateId", "name", "type", "properties" ] + }, + "ApiEvaluationTemplate" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "description" : { + "type" : "string" + }, + "created" : { + "type" : "integer", + "format" : "int64" + }, + "modified" : { + "type" : "integer", + "format" : "int64" + }, + "taskTypes" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTaskType" + } + }, + "taskGroups" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTaskGroup" + } + }, + "tasks" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTaskTemplate" + } + }, + "teams" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTeam" + } + }, + "teamGroups" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTeamGroup" + } + }, + "judges" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + }, + "required" : [ "id", "name", "taskTypes", "taskGroups", "tasks", "teams", "teamGroups", "judges" ] + }, + "ApiEvaluationTemplateOverview" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "description" : { + "type" : "string" + }, + "taskCount" : { + "type" : "integer", + "format" : "int32" + }, + "teamCount" : { + "type" : "integer", + "format" : "int32" + } + }, + "required" : [ "id", "name", "taskCount", "teamCount" ] + }, + "ApiHint" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "type" : { + "$ref" : "#/components/schemas/ApiHintType" + }, + "start" : { + "type" : "integer", + "format" : "int64" + }, + "end" : { + "type" : "integer", + "format" : "int64" + }, + "description" : { + "type" : "string" + }, + "path" : { + "type" : "string" + }, + "dataType" : { + "type" : "string" + }, + "mediaItem" : { + "type" : "string" + }, + "range" : { + "$ref" : "#/components/schemas/ApiTemporalRange" + } + }, + "required" : [ "type" ] + }, + "ApiHintContent" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "taskId" : { + "type" : "string" + }, + "sequence" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiContentElement" + } + }, + "loop" : { + "type" : "boolean" + } + }, + "required" : [ "taskId", "sequence", "loop" ] + }, + "ApiHintType" : { + "type" : "string", + "enum" : [ "EMPTY", "TEXT", "VIDEO", "IMAGE" ] + }, + "ApiTarget" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "type" : { + "$ref" : "#/components/schemas/ApiTargetType" + }, + "target" : { + "type" : "string" + }, + "range" : { + "$ref" : "#/components/schemas/ApiTemporalRange" + } + }, + "required" : [ "type" ] + }, + "ApiTargetContent" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "taskId" : { + "type" : "string" + }, + "sequence" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiContentElement" + } + } + }, + "required" : [ "taskId", "sequence" ] + }, + "ApiTargetType" : { + "type" : "string", + "enum" : [ "JUDGEMENT", "JUDGEMENT_WITH_VOTE", "MEDIA_ITEM", "MEDIA_ITEM_TEMPORAL_RANGE", "TEXT" ] + }, + "ApiTaskGroup" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "type" : { + "type" : "string" + } + }, + "required" : [ "name", "type" ] + }, + "ApiTaskTemplate" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "taskGroup" : { + "type" : "string" + }, + "taskType" : { + "type" : "string" + }, + "duration" : { + "type" : "integer", + "format" : "int64" + }, + "collectionId" : { + "type" : "string" + }, + "targets" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTarget" + } + }, + "hints" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiHint" + } + }, + "comment" : { + "type" : "string" + } + }, + "required" : [ "name", "taskGroup", "taskType", "duration", "collectionId", "targets", "hints", "comment" ] + }, + "ApiTaskType" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "duration" : { + "type" : "integer", + "format" : "int64" + }, + "targetOption" : { + "$ref" : "#/components/schemas/ApiTargetOption" + }, + "hintOptions" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiHintOption" + } + }, + "submissionOptions" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiSubmissionOption" + } + }, + "taskOptions" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTaskOption" + } + }, + "scoreOption" : { + "$ref" : "#/components/schemas/ApiScoreOption" + }, + "configuration" : { + "type" : "object", + "additionalProperties" : { + "type" : "string" + } + } + }, + "required" : [ "name", "duration", "targetOption", "hintOptions", "submissionOptions", "taskOptions", "scoreOption", "configuration" ] + }, + "ApiHintOption" : { + "type" : "string", + "enum" : [ "IMAGE_ITEM", "VIDEO_ITEM_SEGMENT", "TEXT", "EXTERNAL_IMAGE", "EXTERNAL_VIDEO" ] + }, + "ApiScoreOption" : { + "type" : "string", + "enum" : [ "KIS", "AVS", "LEGACY_AVS" ] + }, + "ApiSubmissionOption" : { + "type" : "string", + "enum" : [ "NO_DUPLICATES", "LIMIT_CORRECT_PER_TEAM", "LIMIT_WRONG_PER_TEAM", "LIMIT_TOTAL_PER_TEAM", "LIMIT_CORRECT_PER_MEMBER", "TEMPORAL_SUBMISSION", "TEXTUAL_SUBMISSION", "ITEM_SUBMISSION", "MINIMUM_TIME_GAP" ] + }, + "ApiTargetOption" : { + "type" : "string", + "enum" : [ "SINGLE_MEDIA_ITEM", "SINGLE_MEDIA_SEGMENT", "JUDGEMENT", "VOTE", "TEXT" ] + }, + "ApiTaskOption" : { + "type" : "string", + "enum" : [ "HIDDEN_RESULTS", "MAP_TO_SEGMENT", "PROLONG_ON_SUBMISSION" ] + }, + "ApiTeam" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "color" : { + "type" : "string" + }, + "users" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiUser" + } + }, + "logoData" : { + "type" : "string" + }, + "teamId" : { + "type" : "string" + } + }, + "required" : [ "users", "teamId" ] + }, + "ApiTeamAggregatorType" : { + "type" : "string", + "enum" : [ "MIN", "MAX", "MEAN", "LAST" ] + }, + "ApiTeamGroup" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "teams" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ApiTeam" + } + }, + "aggregation" : { + "$ref" : "#/components/schemas/ApiTeamAggregatorType" + } + }, + "required" : [ "teams", "aggregation" ] + }, + "ApiRole" : { + "type" : "string", + "enum" : [ "ANYONE", "VIEWER", "PARTICIPANT", "JUDGE", "ADMIN" ] + }, + "ApiUser" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "id" : { + "type" : "string" + }, + "username" : { + "type" : "string" + }, + "role" : { + "$ref" : "#/components/schemas/ApiRole" + }, + "sessionId" : { + "type" : "string" + } + } + }, + "ApiUserRequest" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "username" : { + "type" : "string" + }, + "password" : { + "type" : "string" + }, + "role" : { + "$ref" : "#/components/schemas/ApiRole" + } + }, + "required" : [ "username" ] + }, + "QueryEvent" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "timestamp" : { + "type" : "integer", + "format" : "int64" + }, + "category" : { + "$ref" : "#/components/schemas/QueryEventCategory" + }, + "type" : { + "type" : "string" + }, + "value" : { + "type" : "string" + } + }, + "required" : [ "timestamp", "category", "type", "value" ] + }, + "QueryEventCategory" : { + "type" : "string", + "enum" : [ "TEXT", "IMAGE", "SKETCH", "FILTER", "BROWSING", "COOPERATION", "OTHER" ] + }, + "QueryEventLog" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "timestamp" : { + "type" : "integer", + "format" : "int64" + }, + "events" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/QueryEvent" + } + } + }, + "required" : [ "timestamp", "events" ] + }, + "QueryResult" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "item" : { + "type" : "string" + }, + "segment" : { + "type" : "integer", + "format" : "int32" + }, + "frame" : { + "type" : "integer", + "format" : "int32" + }, + "score" : { + "type" : "number", + "format" : "double" + }, + "rank" : { + "type" : "integer", + "format" : "int32" + } + }, + "required" : [ "item" ] + }, + "QueryResultLog" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "timestamp" : { + "type" : "integer", + "format" : "int64" + }, + "sortType" : { + "type" : "string" + }, + "resultSetAvailability" : { + "type" : "string" + }, + "results" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/QueryResult" + } + }, + "events" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/QueryEvent" + } + } + }, + "required" : [ "timestamp", "sortType", "resultSetAvailability", "results", "events" ] + }, + "TemporalPoint" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { } + }, + "TemporalRange" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "start" : { + "$ref" : "#/components/schemas/TemporalPoint" + }, + "end" : { + "$ref" : "#/components/schemas/TemporalPoint" + }, + "center" : { + "type" : "integer", + "format" : "int64" + } + }, + "required" : [ "start", "end", "center" ] + }, + "ApiRunProperties" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "participantCanView" : { + "type" : "boolean" + }, + "shuffleTasks" : { + "type" : "boolean" + }, + "allowRepeatedTasks" : { + "type" : "boolean" + }, + "limitSubmissionPreviews" : { + "type" : "integer", + "format" : "int32" + } + }, + "required" : [ "participantCanView", "shuffleTasks", "allowRepeatedTasks", "limitSubmissionPreviews" ] + }, + "RunManagerStatus" : { + "type" : "string", + "enum" : [ "CREATED", "ACTIVE", "TERMINATED" ] + } + }, + "securitySchemes" : { + "CookieAuth" : { + "in" : "cookie", + "name" : "SESSIONID", + "type" : "apiKey" + } + } + }, + "servers" : [ ], + "security" : [ ] } \ No newline at end of file