{ "openapi": "3.1.0", "info": { "title": "OpenAPI definition", "version": "v0" }, "servers": [ { "url": "http://localhost:8080", "description": "Generated server url" } ], "tags": [ { "name": "Institution", "description": "Institution administration endpoints." }, { "name": "UserAccount", "description": "User account administration and current-user endpoints." } ], "paths": { "/exam-api/v1/handshake": { "put": { "tags": ["exam-api-_-v-1_-controller"], "operationId": "handshakeEstablish", "parameters": [ { "name": "SEBConnectionToken", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "examId": { "type": "integer" }, "seb_user_session_id": { "type": "string" }, "seb_version": { "type": "string" }, "seb_os_name": { "type": "string" }, "seb_machine_name": { "type": "string" }, "seb_signature_key": { "type": "string" }, "client_id": { "type": "string" } } } } } }, "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "SEBOAuth": [] }] }, "post": { "tags": ["exam-api-_-v-1_-controller"], "operationId": "handshakeCreate", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "examId": { "type": "integer" }, "client_id": { "type": "string" }, "formParams": { "$ref": "#/components/schemas/MultiValueMapStringString" } } } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RunningExamInfo" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "SEBOAuth": [] }] }, "delete": { "tags": ["exam-api-_-v-1_-controller"], "operationId": "handshakeDelete", "parameters": [ { "name": "SEBConnectionToken", "in": "header", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "SEBOAuth": [] }] }, "patch": { "tags": ["exam-api-_-v-1_-controller"], "operationId": "handshakeUpdate", "parameters": [ { "name": "SEBConnectionToken", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "examId": { "type": "integer" }, "seb_user_session_id": { "type": "string" }, "seb_version": { "type": "string" }, "seb_os_name": { "type": "string" }, "seb_machine_name": { "type": "string" }, "seb_signature_key": { "type": "string" }, "client_id": { "type": "string" } } } } } }, "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "SEBOAuth": [] }] } }, "/admin-api/v1/useractivity": { "get": { "tags": ["user-activity-log-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getUserActivityLogs", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageUserActivityLog" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["user-activity-log-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editUserActivityLog", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserActivityLog" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserActivityLog" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["user-activity-log-controller"], "summary": "Create user activity log", "description": "Creates user activity log from application/x-www-form-urlencoded fields matching UserActivityLog.", "operationId": "createUserActivityLog", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserActivityLog" } } }, "required": true }, "responses": { "200": { "description": "Created user activity log.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserActivityLog" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["user-activity-log-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllUserActivityLogs", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount": { "get": { "tags": ["UserAccount"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getUserAccounts", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } }, { "name": "name", "in": "query", "description": "Filters user accounts by first or full name.", "required": false, "schema": { "type": "string" } }, { "name": "surname", "in": "query", "description": "Filters user accounts by surname.", "required": false, "schema": { "type": "string" } }, { "name": "username", "in": "query", "description": "Filters user accounts by login username.", "required": false, "schema": { "type": "string" } }, { "name": "email", "in": "query", "description": "Filters user accounts by email address.", "required": false, "schema": { "type": "string" } }, { "name": "language", "in": "query", "description": "Filters user accounts by language.", "required": false, "schema": { "type": "string" } }, { "name": "role", "in": "query", "description": "Filters user accounts by role.", "required": false, "schema": { "type": "string" } }, { "name": "active", "in": "query", "description": "Filters user accounts by active state.", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageUserInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["UserAccount"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editUserAccount", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfo" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["UserAccount"], "summary": "Create user account", "description": "Creates user account from application/x-www-form-urlencoded fields matching UserMod.", "operationId": "createUserAccount", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserMod" } } }, "required": true }, "responses": { "200": { "description": "Created user account.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["UserAccount"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllUserAccounts", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/password": { "put": { "tags": ["UserAccount"], "summary": "Change a user account password", "operationId": "changeUserAccountPassword", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordChange" } } }, "required": true }, "responses": { "200": { "description": "User account after password change.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-event": { "get": { "tags": ["client-event-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getClientEvents", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageClientEvent" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["client-event-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editClientEvent", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientEvent" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientEvent" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["client-event-controller"], "summary": "Create client event", "description": "Creates client event from application/x-www-form-urlencoded fields matching ClientEvent.", "operationId": "createClientEvent", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ClientEvent" } } }, "required": true }, "responses": { "200": { "description": "Created client event.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientEvent" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["client-event-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllClientEvents", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-connection": { "get": { "tags": ["client-connection-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getClientConnections", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageClientConnection" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["client-connection-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editClientConnection", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientConnection" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientConnection" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["client-connection-controller"], "summary": "Create client connection", "description": "Creates client connection from application/x-www-form-urlencoded fields matching ClientConnection.", "operationId": "createClientConnection", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ClientConnection" } } }, "required": true }, "responses": { "200": { "description": "Created client connection.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientConnection" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["client-connection-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllClientConnections", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation": { "get": { "tags": ["orientation-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getOrientations", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageOrientation" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["orientation-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editOrientation", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Orientation" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Orientation" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["orientation-controller"], "summary": "Create orientation", "description": "Creates orientation from application/x-www-form-urlencoded fields matching Orientation.", "operationId": "createOrientation", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Orientation" } } }, "required": true }, "responses": { "200": { "description": "Created orientation.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Orientation" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["orientation-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllOrientations", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/view": { "get": { "tags": ["view-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getViews", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageView" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["view-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editView", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/View" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/View" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["view-controller"], "summary": "Create view", "description": "Creates view from application/x-www-form-urlencoded fields matching View.", "operationId": "createView", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/View" } } }, "required": true }, "responses": { "200": { "description": "Created view.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/View" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["view-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllViews", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup": { "get": { "tags": ["lms-setup-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getLmsSetups", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageLmsSetup" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["lms-setup-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editLmsSetup", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LmsSetup" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LmsSetup" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["lms-setup-controller"], "summary": "Create lms setup", "description": "Creates lms setup from application/x-www-form-urlencoded fields matching LmsSetup.", "operationId": "createLmsSetup", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/LmsSetup" } } }, "required": true }, "responses": { "200": { "description": "Created lms setup.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LmsSetup" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["lms-setup-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllLmsSetups", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/test/adhoc": { "put": { "tags": ["lms-setup-controller"], "operationId": "testLmsAdHoc", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LmsSetup" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LmsSetupTestResult" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution": { "get": { "tags": ["Institution"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getInstitutions", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } }, { "name": "name", "in": "query", "description": "Filters institutions by name.", "required": false, "schema": { "type": "string" } }, { "name": "active", "in": "query", "description": "Filters institutions by active state.", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageInstitution" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["Institution"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editInstitution", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Institution" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Institution" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["Institution"], "summary": "Create institution", "description": "Creates institution from application/x-www-form-urlencoded fields matching Institution.", "operationId": "createInstitution", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Institution" } } }, "required": true }, "responses": { "200": { "description": "Created institution.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Institution" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["Institution"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllInstitutions", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/indicator": { "get": { "tags": ["indicator-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getIndicators", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageIndicator" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["indicator-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editIndicator", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Indicator" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Indicator" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["indicator-controller"], "summary": "Create indicator", "description": "Creates indicator from application/x-www-form-urlencoded fields matching Indicator.", "operationId": "createIndicator", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Indicator" } } }, "required": true }, "responses": { "200": { "description": "Created indicator.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Indicator" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["indicator-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllIndicators", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam": { "get": { "tags": ["exam-administration-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getExamAdministrations", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageExam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["exam-administration-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editExamAdministration", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-administration-controller"], "summary": "Create exam administration", "description": "Creates exam administration from application/x-www-form-urlencoded fields matching Exam.", "operationId": "createExamAdministration", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Exam" } } }, "required": true }, "responses": { "200": { "description": "Created exam administration.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-administration-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllExamAdministrations", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/seb-restriction": { "get": { "tags": ["exam-administration-controller"], "operationId": "getSEBRestriction", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SEBRestriction" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["exam-administration-controller"], "operationId": "applySEBRestriction", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-administration-controller"], "operationId": "saveSEBRestrictionData", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SEBRestriction" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-administration-controller"], "operationId": "deleteSEBRestriction", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template": { "get": { "tags": ["exam-template-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getExamTemplates", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageExamTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["exam-template-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editExamTemplate", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamTemplate" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-template-controller"], "summary": "Create exam template", "description": "Creates exam template from application/x-www-form-urlencoded fields matching ExamTemplate.", "operationId": "createExamTemplate", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ExamTemplate" } } }, "required": true }, "responses": { "200": { "description": "Created exam template.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-template-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllExamTemplates", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/indicator": { "put": { "tags": ["exam-template-controller"], "operationId": "saveIndicatorPut", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IndicatorTemplate" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IndicatorTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-template-controller"], "operationId": "createIndicatorTemplate", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "allRequestParams": { "$ref": "#/components/schemas/MultiValueMapStringString" }, "institutionId": { "type": "integer" } }, "required": ["allRequestParams"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IndicatorTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/client-group": { "put": { "tags": ["exam-template-controller"], "operationId": "saveClientGroupTemplate", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientGroupTemplate" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientGroupTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-template-controller"], "operationId": "createClientGroupTemplate", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "allRequestParams": { "$ref": "#/components/schemas/MultiValueMapStringString" }, "institutionId": { "type": "integer" } }, "required": ["allRequestParams"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientGroupTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-configuration-map": { "get": { "tags": ["exam-configuration-mapping-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getExamConfigurationMappings", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageExamConfigurationMap" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["exam-configuration-mapping-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editExamConfigurationMapping", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamConfigurationMap" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamConfigurationMap" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-configuration-mapping-controller"], "summary": "Create a new entity object of specifies type by using the given form parameter", "description": "This expects application/x-www-form-urlencoded format for the form parameter and tries to create a new entity object from this form parameter, resulting in an error if there are missing or incorrect form paramter. The needed form paramter can be verified within the specific entity object.", "operationId": "createExamConfigurationMapping", "parameters": [ { "name": "formParams", "in": "query", "description": "The from paramter value map that is been used to create a new entity object." }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "allRequestParams": { "$ref": "#/components/schemas/MultiValueMapStringString" }, "institutionId": { "type": "integer" } }, "required": ["allRequestParams"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamConfigurationMap" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-configuration-mapping-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllExamConfigurationMappings", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_value": { "get": { "tags": ["configuration-value-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getConfigurationValues", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageConfigurationValue" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["configuration-value-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editConfigurationValue", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationValue" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationValue" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["configuration-value-controller"], "summary": "Create configuration value", "description": "Creates configuration value from application/x-www-form-urlencoded fields matching ConfigurationValue.", "operationId": "createConfigurationValue", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ConfigurationValue" } } }, "required": true }, "responses": { "200": { "description": "Created configuration value.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationValue" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["configuration-value-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllConfigurationValues", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_value/table": { "get": { "tags": ["configuration-value-controller"], "operationId": "getTableValue", "parameters": [ { "name": "configurationAttributeId", "in": "query", "required": true, "schema": { "type": "integer" } }, { "name": "configurationId", "in": "query", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationTableValues" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["configuration-value-controller"], "operationId": "editConfigurationValue_1", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationTableValues" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationTableValues" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_attribute": { "get": { "tags": ["configuration-attribute-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getConfigurationAttributes", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageConfigurationAttribute" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["configuration-attribute-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editConfigurationAttribute", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationAttribute" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationAttribute" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["configuration-attribute-controller"], "summary": "Create configuration attribute", "description": "Creates configuration attribute from application/x-www-form-urlencoded fields matching ConfigurationAttribute.", "operationId": "createConfigurationAttribute", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ConfigurationAttribute" } } }, "required": true }, "responses": { "200": { "description": "Created configuration attribute.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationAttribute" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["configuration-attribute-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllConfigurationAttributes", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration": { "get": { "tags": ["configuration-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getConfigurations", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageConfiguration" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["configuration-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editConfiguration", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Configuration" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Configuration" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["configuration-controller"], "summary": "Create configuration", "description": "Creates configuration from application/x-www-form-urlencoded fields matching Configuration.", "operationId": "createConfiguration", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Configuration" } } }, "required": true }, "responses": { "200": { "description": "Created configuration.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Configuration" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["configuration-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllConfigurations", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node": { "get": { "tags": ["configuration-node-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getConfigurationNodes", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageConfigurationNode" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["configuration-node-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editConfigurationNode", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationNode" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationNode" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["configuration-node-controller"], "summary": "Create configuration node", "description": "Creates configuration node from application/x-www-form-urlencoded fields matching ConfigurationNode.", "operationId": "createConfigurationNode", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ConfigurationNode" } } }, "required": true }, "responses": { "200": { "description": "Created configuration node.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationNode" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["configuration-node-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllConfigurationNodes", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/copy": { "put": { "tags": ["configuration-node-controller"], "operationId": "copyConfiguration", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigCreationInfo" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationNode" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration": { "get": { "tags": ["seb-client-config-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getSEBClientConfigs", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } }, { "name": "name", "in": "query", "description": "Filters connection configurations by name.", "required": false, "schema": { "type": "string" } }, { "name": "active", "in": "query", "description": "Filters connection configurations by active state.", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageSEBClientConfig" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["seb-client-config-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editSEBClientConfig", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SEBClientConfig" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SEBClientConfig" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["seb-client-config-controller"], "summary": "Create s e b client config", "description": "Creates s e b client config from application/x-www-form-urlencoded fields matching SEBClientConfig.", "operationId": "createSEBClientConfig", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/SEBClientConfig" } } }, "required": true }, "responses": { "200": { "description": "Created s e b client config.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SEBClientConfig" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["seb-client-config-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllSEBClientConfigs", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client-group": { "get": { "tags": ["client-group-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getClientGroups", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageClientGroup" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["client-group-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editClientGroup", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientGroup" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientGroup" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["client-group-controller"], "summary": "Create client group", "description": "Creates client group from application/x-www-form-urlencoded fields matching ClientGroup.", "operationId": "createClientGroup", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ClientGroup" } } }, "required": true }, "responses": { "200": { "description": "Created client group.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientGroup" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["client-group-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllClientGroups", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/batch-action": { "get": { "tags": ["batch-action-controller"], "summary": "Get a page of the specific domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getBatchActions", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageBatchAction" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "put": { "tags": ["batch-action-controller"], "summary": "Modifies an already existing entity object of the specific type.", "description": "This expects application/json format for the response data and verifies consistencies within the definition of the specific entity object type. Missing (NULL) parameter that are not mandatory will be ignored and the original value will not be affected", "operationId": "editBatchAction", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchAction" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchAction" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["batch-action-controller"], "summary": "Create batch action", "description": "Creates batch action from application/x-www-form-urlencoded fields matching BatchAction.", "operationId": "createBatchAction", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/BatchAction" } } }, "required": true }, "responses": { "200": { "description": "Created batch action.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchAction" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["batch-action-controller"], "summary": "Deletes all given entity (and all its dependencies) by a given list of model identifiers.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteAllBatchActions", "parameters": [ { "name": "modelIds", "in": "query", "description": "The list of model identifiers of specific entity type to delete." }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' paramerer shall be processed or not.\n The default is false " }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result." } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "modelIds": { "type": "array", "items": { "type": "string" } }, "bulkActionAddIncludes": { "type": "boolean", "default": false }, "bulkActionIncludes": { "type": "array", "items": { "type": "string" } }, "institutionId": { "type": "integer" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/oauth/jwttoken/verify": { "post": { "tags": ["admin-jwt-access"], "operationId": "verifyJWTToken", "parameters": [ { "name": "one-time-token-to-verify", "in": "header", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenLoginInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } } } }, "/lms-api/v1/seb_config": { "post": { "tags": ["lms-integration-controller"], "operationId": "getConnectionConfiguration", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "course_id": { "type": "string" }, "quiz_id": { "type": "string" } }, "required": ["course_id", "id", "quiz_id"] } } } }, "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } } } }, "/lms-api/v1/login_token": { "post": { "tags": ["lms-integration-controller"], "operationId": "getOneTimeLoginToken", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "course_id": { "type": "string" }, "quiz_id": { "type": "string" }, "user_id": { "type": "string" }, "user_username": { "type": "string" }, "user_email": { "type": "string" }, "user_firstname": { "type": "string" }, "user_lastname": { "type": "string" }, "account_time_zone": { "type": "string" } }, "required": [ "course_id", "id", "quiz_id", "user_id" ] } } } }, "responses": { "200": { "description": "OK", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/TokenLoginResponse" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } } } }, "/lms-api/v1/exam": { "post": { "tags": ["lms-integration-controller"], "operationId": "createExam", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "course_id": { "type": "string" }, "quiz_id": { "type": "string" }, "exam_template_id": { "type": "string" }, "exam_data": { "type": "string" }, "quit_password": { "type": "string" }, "quit_link": { "type": "integer", "format": "int32" } }, "required": [ "course_id", "exam_template_id", "id", "quiz_id" ] } } } }, "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } } }, "delete": { "tags": ["lms-integration-controller"], "operationId": "deleteExam", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "course_id": { "type": "string" }, "quiz_id": { "type": "string" } }, "required": ["course_id", "id", "quiz_id"] } } } }, "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } } } }, "/exam-api/v1/sebping": { "post": { "tags": ["exam-api-_-v-1_-controller"], "operationId": "ping", "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "SEBOAuth": [] }] } }, "/exam-api/v1/seblog": { "post": { "tags": ["exam-api-_-v-1_-controller"], "operationId": "event", "parameters": [ { "name": "SEBConnectionToken", "in": "header", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "string" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "SEBOAuth": [] }] } }, "/admin-api/v1/useraccount/{modelId}/inactive": { "post": { "tags": ["UserAccount"], "summary": "Dectivate a single entity by its modelId.", "operationId": "deactivateUserAccount", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to deactivate.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/{modelId}/active": { "post": { "tags": ["UserAccount"], "summary": "Activate a single entity by its modelId.", "operationId": "activateUserAccount", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to activate.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/logout": { "post": { "tags": ["UserAccount"], "summary": "Record current user logout", "description": "Attempts to revoke the current bearer token and records a logout activity.", "operationId": "logUserAccountLogout", "responses": { "200": { "description": "Logout activity recorded." }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/session-delete": { "get": { "tags": ["session-deletion-controller"], "operationId": "getDeletionReport", "parameters": [ { "name": "searchName", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "deleteDueTime", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionDeletionReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["session-deletion-controller"], "operationId": "deleteSessions", "parameters": [ { "name": "searchName", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "deleteDueTime", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "excludes", "in": "query", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionDeletionReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/scheduled-delete": { "get": { "tags": ["scheduled-delete-controller"], "operationId": "getScheduledDeletes", "parameters": [ { "name": "page_number", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageScheduledDelete" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["scheduled-delete-controller"], "operationId": "createScheduledDelete", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "integer" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduledDeleteReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/scheduled-delete/{modelId}/unmark-exclude": { "post": { "tags": ["scheduled-delete-controller"], "operationId": "unmarkExclude", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduledDeleteReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/scheduled-delete/{modelId}/mark-exclude": { "post": { "tags": ["scheduled-delete-controller"], "operationId": "markExclude", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduledDeleteReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/register": { "post": { "tags": ["UserAccount"], "summary": "Register a user account", "description": "Self-registers an EXAM_SUPPORTER account from application/x-www-form-urlencoded fields matching UserMod.", "operationId": "registerUserAccount", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/UserMod" } } }, "required": true }, "responses": { "200": { "description": "Registered user account.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } } } }, "/admin-api/v1/monitoring/{parentModelId}/static-client-data": { "post": { "tags": ["exam-monitoring-controller"], "operationId": "getMonitoringStaticClientData", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "modelIds": { "type": "string" } }, "required": ["modelIds"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MonitoringStaticClientData" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/{parentModelId}/quitAll": { "post": { "tags": ["exam-monitoring-controller"], "operationId": "quitAllActiveSEBClients", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/{parentModelId}/notification/{modelId}/{SEBConnectionToken}": { "post": { "tags": ["exam-monitoring-controller"], "operationId": "confirmNotification", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "SEBConnectionToken", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/{parentModelId}/instruction": { "post": { "tags": ["exam-monitoring-controller"], "operationId": "registerInstruction", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientInstruction" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/{parentModelId}/disable-connection": { "post": { "tags": ["exam-monitoring-controller"], "operationId": "disableConnection", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "connectionToken": { "type": "string" } }, "required": ["connectionToken"] } } } }, "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/testrun/{modelId}": { "post": { "tags": ["exam-monitoring-controller"], "operationId": "toggleTestRunForExam", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}activate-towhall-room": { "post": { "tags": ["exam-proctoring-controller"], "operationId": "activateTownhall", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "subject", "in": "query", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProctoringRoomConnection" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}/reconfiguration-attributes": { "post": { "tags": ["exam-proctoring-controller"], "operationId": "sendReconfigurationAttributes", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "id", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "receive_audio", "in": "query", "required": false, "schema": { "type": "string", "default": "false" } }, { "name": "receive_video", "in": "query", "required": false, "schema": { "type": "string", "default": "false" } }, { "name": "allow_chat", "in": "query", "required": false, "schema": { "type": "string", "default": "false" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}/open": { "post": { "tags": ["exam-proctoring-controller"], "operationId": "openBreakOutRoom", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "subject", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "SEBConnectionToken", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProctoringRoomConnection" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}/notify-open-room": { "post": { "tags": ["exam-proctoring-controller"], "operationId": "notifyProctoringRoomOpened", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "roomName": { "type": "string" } }, "required": ["roomName"] } } } }, "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}/close": { "post": { "tags": ["exam-proctoring-controller"], "operationId": "closeProctoringRoom", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "roomName", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/{modelId}/inactive": { "post": { "tags": ["lms-setup-controller"], "summary": "Dectivate a single entity by its modelId.", "operationId": "deactivateLmsSetup", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to deactivate.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/{modelId}/active": { "post": { "tags": ["lms-setup-controller"], "summary": "Activate a single entity by its modelId.", "operationId": "activateLmsSetup", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to activate.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution/{modelId}/inactive": { "post": { "tags": ["Institution"], "summary": "Dectivate a single entity by its modelId.", "operationId": "deactivateInstitution", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to deactivate.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution/{modelId}/active": { "post": { "tags": ["Institution"], "summary": "Activate a single entity by its modelId.", "operationId": "activateInstitution", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to activate.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{parentModelId}/sebkeyinfo": { "get": { "tags": ["exam-administration-controller"], "operationId": "getAppSignatureKeyInfo", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AppSignatureKeyInfo" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-administration-controller"], "operationId": "saveAppSignatureKeySettings", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "SIGNATURE_KEY_CHECK_ENABLED": { "type": "boolean" }, "NUMERICAL_TRUST_THRESHOLD": { "type": "integer", "format": "int32" } }, "required": [ "NUMERICAL_TRUST_THRESHOLD", "SIGNATURE_KEY_CHECK_ENABLED" ] } } } }, "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{parentModelId}/grant/{modelId}": { "post": { "tags": ["exam-administration-controller"], "operationId": "grantAppSignatureKey", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "tag": { "type": "string" } } } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SecurityKey" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-administration-controller"], "operationId": "deleteSecurityGrant", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityKey" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/screen-proctoring": { "get": { "tags": ["exam-administration-controller"], "operationId": "getScreenProctoringSettings", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenProctoringSettings" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-administration-controller"], "operationId": "saveScreenProctoringSettings", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenProctoringSettings" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/screen-proctoring/apply-groups": { "post": { "tags": ["exam-administration-controller"], "operationId": "screenProctoringGroupApply", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "spsSEBGroupsSelection", "in": "query", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/screen-proctoring/activation": { "post": { "tags": ["exam-administration-controller"], "operationId": "screenProctoringActivation", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "enableScreenProctoring", "in": "query", "required": true, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/proctoring": { "get": { "tags": ["exam-administration-controller"], "operationId": "getProctoringServiceSettings", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProctoringServiceSettings" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-administration-controller"], "operationId": "saveProctoringServiceSettings", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProctoringServiceSettings" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/seb-settings/{modelId}": { "get": { "tags": ["exam-seb-settings-controller"], "operationId": "getSEBSettings", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "viewType", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "GENERAL", "USER_INTERFACE", "BROWSER", "DOWN_UPLOAD", "EXAM", "APPLICATION", "RESOURCES", "NETWORK", "SECURITY", "REGISTRY", "HOOKED_KEYS", "PROCTORING" ] } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SEBSettingsView" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-seb-settings-controller"], "operationId": "saveSingleValue", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "id": { "type": "integer" }, "value": { "type": "string" } }, "required": ["id", "value"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Value" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/seb-settings/{modelId}/undo-changes": { "post": { "tags": ["exam-seb-settings-controller"], "operationId": "undoChanges", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/seb-settings/{modelId}/table/row": { "post": { "tags": ["exam-seb-settings-controller"], "operationId": "addNewTableRow", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "string" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TableRowValues" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-seb-settings-controller"], "operationId": "deleteTableRow", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "name", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "listIndex", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TableRowValues" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/seb-settings/{modelId}/publish": { "post": { "tags": ["exam-seb-settings-controller"], "operationId": "publish", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/{modelId}/screen-proctoring": { "get": { "tags": ["exam-template-controller"], "operationId": "getScreenProctoringSettings_1", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenProctoringSettings" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["exam-template-controller"], "operationId": "saveScreenProctoringSettings_1", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenProctoringSettings" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/{modelId}/copy": { "post": { "tags": ["exam-template-controller"], "operationId": "copyExamTemplate", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/create": { "post": { "tags": ["exam-template-controller"], "operationId": "createExamTemplate_1", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamTemplate" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/create-config-template": { "post": { "tags": ["exam-template-controller"], "operationId": "createTemporaryConfigurationTemplate", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationNode" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration/undo/{modelId}": { "post": { "tags": ["configuration-controller"], "operationId": "undo", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Configuration" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration/save-to-history/{modelId}": { "post": { "tags": ["configuration-controller"], "operationId": "saveToHistory", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Configuration" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration/restore/{modelId}": { "post": { "tags": ["configuration-controller"], "operationId": "restoreFormHistory", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "parentModelId", "in": "query", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Configuration" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{modelId}/quitpwd": { "post": { "tags": ["configuration-node-controller"], "operationId": "setQuitPassword", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "quitPassword": { "type": "string" } } } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationNode" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{modelId}/import": { "post": { "tags": ["configuration-node-controller"], "operationId": "importExamConfigOnExistingConfig", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "importFilePassword", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "quitPassword", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Configuration" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/import": { "post": { "tags": ["configuration-node-controller"], "operationId": "importExamConfig", "parameters": [ { "name": "name", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "description", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "templateId", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "importFilePassword", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Configuration" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "deprecated": true, "security": [{ "oauth": [] }] } }, "/admin-api/v1/config-template/seb-settings/{modelId}": { "get": { "tags": ["template-seb-settings-controller"], "operationId": "getSEBSettings_1", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "viewType", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "GENERAL", "USER_INTERFACE", "BROWSER", "DOWN_UPLOAD", "EXAM", "APPLICATION", "RESOURCES", "NETWORK", "SECURITY", "REGISTRY", "HOOKED_KEYS", "PROCTORING" ] } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SEBSettingsView" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["template-seb-settings-controller"], "operationId": "saveSingleValue_1", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "id": { "type": "integer" }, "value": { "type": "string" } }, "required": ["id", "value"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Value" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/config-template/seb-settings/{modelId}/undo-changes": { "post": { "tags": ["template-seb-settings-controller"], "operationId": "undoChanges_1", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/config-template/seb-settings/{modelId}/table/row": { "post": { "tags": ["template-seb-settings-controller"], "operationId": "addNewTableRow_1", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "string" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TableRowValues" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["template-seb-settings-controller"], "operationId": "deleteTableRow_1", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "name", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "listIndex", "in": "query", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TableRowValues" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/config-template/seb-settings/{modelId}/publish": { "post": { "tags": ["template-seb-settings-controller"], "operationId": "publish_1", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/{modelId}/inactive": { "post": { "tags": ["seb-client-config-controller"], "summary": "Dectivate a single entity by its modelId.", "operationId": "deactivateSEBClientConfig", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to deactivate.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/{modelId}/active": { "post": { "tags": ["seb-client-config-controller"], "summary": "Activate a single entity by its modelId.", "operationId": "activateSEBClientConfig", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to activate.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/certificate": { "get": { "tags": ["certificate-controller"], "operationId": "getCertificates", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "page_number", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "allRequestParams", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/MultiValueMapStringString" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageCertificateInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "post": { "tags": ["certificate-controller"], "operationId": "importCertificate", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "importFile", "in": "header", "required": true, "schema": { "type": "string" } }, { "name": "alias", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "importFilePassword", "in": "header", "required": false, "schema": { "type": "object", "properties": { "empty": { "type": "boolean" } } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CertificateInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["certificate-controller"], "operationId": "deleteCertificate", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "alias": { "type": "string" } }, "required": ["alias"] } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityKey" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/archive": { "patch": { "tags": ["exam-administration-controller"], "operationId": "archive", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{parentModelId}/template-attribute/{modelId}/reset": { "patch": { "tags": ["configuration-node-controller"], "operationId": "resetTemplateAttributeValues", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "integer" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateAttribute" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{parentModelId}/template-attribute/{modelId}/remove-orientation": { "patch": { "tags": ["configuration-node-controller"], "operationId": "removeTemplateAttributeOrientation", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "integer" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateAttribute" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{parentModelId}/template-attribute/{modelId}/attach-default-orientation": { "patch": { "tags": ["configuration-node-controller"], "operationId": "attachDefaultTemplateAttributeOrientation", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "viewId": { "type": "integer" } } } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateAttribute" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "deprecated": true, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{modelId}/reset-to-template": { "patch": { "tags": ["configuration-node-controller"], "operationId": "resetToTemplateValues", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationNode" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/exam-api/v1/examconfig": { "get": { "tags": ["exam-api-_-v-1_-controller"], "operationId": "getConfig", "parameters": [ { "name": "SEBConnectionToken", "in": "header", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "SEBOAuth": [] }] } }, "/exam-api/discovery": { "get": { "tags": ["exam-api-discovery-controller"], "operationId": "getDiscovery", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamAPIDiscovery" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } } } }, "/admin-api/v1/useractivity/{modelId}": { "get": { "tags": ["user-activity-log-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getUserActivityLogById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserActivityLog" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["user-activity-log-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteUserActivityLog", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useractivity/{modelId}/dependency": { "get": { "tags": ["user-activity-log-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getUserActivityLogDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useractivity/names": { "get": { "tags": ["user-activity-log-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getUserActivityLogNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useractivity/list": { "get": { "tags": ["user-activity-log-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getUserActivityLogsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserActivityLog" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/{modelId}": { "get": { "tags": ["UserAccount"], "summary": "Get a single entity by its modelId.", "operationId": "getUserAccountById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["UserAccount"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteUserAccount", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/{modelId}/dependency": { "get": { "tags": ["UserAccount"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getUserAccountDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/supervisors": { "get": { "tags": ["UserAccount"], "summary": "Get active supporter user names", "description": "Returns active EXAM_SUPPORTER user account names for the given institution.", "operationId": "getUserAccountSupervisors", "parameters": [ { "name": "institutionId", "in": "query", "description": "Institution identifier. Defaults to the current user's institution.", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Active supporter user names.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/names": { "get": { "tags": ["UserAccount"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getUserAccountNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/me": { "get": { "tags": ["UserAccount"], "summary": "Get the current user account", "operationId": "getCurrentUserAccount", "responses": { "200": { "description": "Current user account.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/list": { "get": { "tags": ["UserAccount"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getUserAccountsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserInfo" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/inactive": { "get": { "tags": ["UserAccount"], "summary": "Get a page of all specific domain entity that are currently inactive.", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n", "operationId": "getInactiveUserAccounts", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageUserInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/active": { "get": { "tags": ["UserAccount"], "summary": "Get a page of all specific domain entity that are currently active.", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n", "operationId": "getActiveUserAccounts", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageUserInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-version-info": { "get": { "tags": ["seb-version-controller"], "operationId": "sebVersionInfoPage", "responses": { "200": { "description": "OK", "content": { "text/html": { "schema": { "type": "string" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } } } }, "/admin-api/v1/seb-client-event/{modelId}": { "get": { "tags": ["client-event-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getClientEventById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientEvent" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["client-event-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteClientEvent", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-event/{modelId}/dependency": { "get": { "tags": ["client-event-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getClientEventDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-event/search": { "get": { "tags": ["client-event-controller"], "summary": "Get a page of ExtendedClientEvent. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getExtendedPage", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } }, { "name": "filterCriteria", "in": "query", "description": "Additional filter criterias \nFor OpenAPI 3 input please use the form: {\"columnName\":\"filterValue\"}", "required": true, "schema": { "$ref": "#/components/schemas/MultiValueMapStringString" }, "example": {} } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageExtendedClientEvent" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-event/names": { "get": { "tags": ["client-event-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getClientEventNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-event/list": { "get": { "tags": ["client-event-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getClientEventsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ClientEvent" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-event/export": { "get": { "tags": ["client-event-controller"], "operationId": "exportEvents", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "exportType", "in": "query", "required": true, "schema": { "type": "string", "enum": ["CSV"] } }, { "name": "includeConnectionDetails", "in": "query", "required": false, "schema": { "type": "boolean", "default": true } }, { "name": "includeExamDetails", "in": "query", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "allRequestParams", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/MultiValueMapStringString" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-connection/{modelId}": { "get": { "tags": ["client-connection-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getClientConnectionById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientConnection" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["client-connection-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteClientConnection", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-connection/{modelId}/dependency": { "get": { "tags": ["client-connection-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getClientConnectionDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-connection/names": { "get": { "tags": ["client-connection-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getClientConnectionNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-connection/list": { "get": { "tags": ["client-connection-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getClientConnectionsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ClientConnection" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-connection/data": { "get": { "tags": ["client-connection-controller"], "summary": "Get a page of ClientConnectionData domain entity. Sorting and filtering is applied before paging", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getClientConnectionDataPage", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } }, { "name": "filterCriteria", "in": "query", "description": "Additional filter criterias \nFor OpenAPI 3 input please use the form: {\"columnName\":\"filterValue\"}", "required": true, "schema": { "$ref": "#/components/schemas/MultiValueMapStringString" }, "example": {} } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageClientConnectionData" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-connection/data/{modelId}": { "get": { "tags": ["client-connection-controller"], "operationId": "getClientConnectionDataBy", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientConnectionData" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/scheduled-delete/{modelId}": { "get": { "tags": ["scheduled-delete-controller"], "operationId": "getFullReportById", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduledDeleteReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["scheduled-delete-controller"], "operationId": "delete", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityKey" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/quiz": { "get": { "tags": ["quiz-controller"], "operationId": "getQuizPage", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "page_number", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "allRequestParams", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/MultiValueMapStringString" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageQuizData" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/quiz/{modelId}": { "get": { "tags": ["quiz-controller"], "operationId": "getQuiz", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "lms_setup_id", "in": "query", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QuizData" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/{modelId}": { "get": { "tags": ["orientation-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getOrientationById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Orientation" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["orientation-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteOrientation", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/{modelId}/dependency": { "get": { "tags": ["orientation-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getOrientationDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/view/{modelId}": { "get": { "tags": ["view-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getViewById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/View" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["view-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteView", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/view/{modelId}/dependency": { "get": { "tags": ["view-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getViewDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/view/names": { "get": { "tags": ["view-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getViewNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/view/list": { "get": { "tags": ["view-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getViewsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/View" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/names": { "get": { "tags": ["orientation-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getOrientationNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/list": { "get": { "tags": ["orientation-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getOrientationsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Orientation" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring": { "get": { "tags": ["exam-monitoring-controller"], "operationId": "getExamMonitorings", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "page_number", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "allRequestParams", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/MultiValueMapStringString" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageExam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/{parentModelId}": { "get": { "tags": ["exam-monitoring-controller"], "operationId": "getConnectionData", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "hidden-states", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "hidden-client-group", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "hidden-issues", "in": "header", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ClientConnectionData" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/{parentModelId}/{SEBConnectionToken}": { "get": { "tags": ["exam-monitoring-controller"], "operationId": "getConnectionDataForSingleConnection", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "SEBConnectionToken", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientConnectionData" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/{parentModelId}/signature/{modelId}": { "get": { "tags": ["exam-monitoring-controller"], "operationId": "getAppSignatureKey", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SecurityKey" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/{parentModelId}/notification/{SEBConnectionToken}": { "get": { "tags": ["exam-monitoring-controller"], "operationId": "pendingNotifications", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "SEBConnectionToken", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ClientNotification" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/{parentModelId}/fullpage": { "get": { "tags": ["exam-monitoring-controller"], "operationId": "getFullMonitoringPageData", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "hidden-states", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "hidden-client-group", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "hidden-issues", "in": "header", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MonitoringFullPageData" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}towhall-room-data": { "get": { "tags": ["exam-proctoring-controller"], "operationId": "getTownhallRoom", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoteProctoringRoom" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}towhall-available": { "get": { "tags": ["exam-proctoring-controller"], "operationId": "isTownhallRoomAvialbale", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}": { "get": { "tags": ["exam-proctoring-controller"], "operationId": "getProctorRoomConnection", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "roomName", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "subject", "in": "query", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProctoringRoomConnection" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}/screenproctoring-groups": { "get": { "tags": ["exam-proctoring-controller"], "operationId": "getScreenProctoringGroupsOfExam", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ScreenProctoringGroup" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}/room-connections": { "get": { "tags": ["exam-proctoring-controller"], "operationId": "getAllClientConnectionsInRoom", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "id", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ClientConnection" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/proctoring/{modelId}/collecting-rooms": { "get": { "tags": ["exam-proctoring-controller"], "operationId": "getCollectingRoomsOfExam", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RemoteProctoringRoom" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/overview/{modelId}": { "get": { "tags": ["exam-monitoring-controller"], "operationId": "getOverviewData", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamMonitoringOverviewData" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/finishedexams": { "get": { "tags": ["exam-monitoring-controller"], "operationId": "getFinishedExamsPage", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "page_number", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "allRequestParams", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/MultiValueMapStringString" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageExam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/monitoring/connections/{modelId}": { "get": { "tags": ["exam-monitoring-controller"], "operationId": "getMonitoringExamListData", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "show-all", "in": "header", "required": false, "schema": { "type": "boolean" } }, { "name": "show-states", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "show-client-groups", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "show-indicators", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "show-notifications", "in": "header", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MonitoringFullPageData" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/{modelId}": { "get": { "tags": ["lms-setup-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getLmsSetupById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LmsSetup" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["lms-setup-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteLmsSetup", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/{modelId}/dependency": { "get": { "tags": ["lms-setup-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getLmsSetupDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/test/{modelId}": { "get": { "tags": ["lms-setup-controller"], "operationId": "testLms", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LmsSetupTestResult" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/names": { "get": { "tags": ["lms-setup-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getLmsSetupNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/list": { "get": { "tags": ["lms-setup-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getLmsSetupsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/LmsSetup" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/inactive": { "get": { "tags": ["lms-setup-controller"], "summary": "Get a page of all specific domain entity that are currently inactive.", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n", "operationId": "getInactiveLmsSetups", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageLmsSetup" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/active": { "get": { "tags": ["lms-setup-controller"], "summary": "Get a page of all specific domain entity that are currently active.", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n", "operationId": "getActiveLmsSetups", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageLmsSetup" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution/{modelId}": { "get": { "tags": ["Institution"], "summary": "Get a single entity by its modelId.", "operationId": "getInstitutionById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Institution" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["Institution"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteInstitution", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution/{modelId}/dependency": { "get": { "tags": ["Institution"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getInstitutionDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution/self": { "get": { "tags": ["Institution"], "summary": "Get the current user's own institution", "description": "Returns the institution the currently authenticated user belongs to.", "operationId": "getInstitutionSelf", "responses": { "200": { "description": "The current user's institution.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Institution" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution/names": { "get": { "tags": ["Institution"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getInstitutionNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution/list": { "get": { "tags": ["Institution"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getInstitutionsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Institution" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution/inactive": { "get": { "tags": ["Institution"], "summary": "Get a page of all specific domain entity that are currently inactive.", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n", "operationId": "getInactiveInstitutions", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageInstitution" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution/active": { "get": { "tags": ["Institution"], "summary": "Get a page of all specific domain entity that are currently active.", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n", "operationId": "getActiveInstitutions", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageInstitution" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/info/privileges": { "get": { "tags": ["info-controller"], "operationId": "privileges", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Privilege" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/info/logo/{urlSuffix}": { "get": { "tags": ["info-controller"], "operationId": "logo", "parameters": [ { "name": "urlSuffix", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "image/png": { "schema": { "type": "string" } }, "image/png;base64": { "schema": { "type": "string" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/info/institution": { "get": { "tags": ["info-controller"], "operationId": "getInstitutionInfo", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/info/institution/{urlSuffix}": { "get": { "tags": ["info-controller"], "operationId": "getInstitutionInfo_1", "parameters": [ { "name": "urlSuffix", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/info/features": { "get": { "tags": ["info-controller"], "operationId": "getServiceFeatures", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "type": "boolean" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/indicator/{modelId}": { "get": { "tags": ["indicator-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getIndicatorById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Indicator" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["indicator-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteIndicator", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/indicator/{modelId}/dependency": { "get": { "tags": ["indicator-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getIndicatorDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/indicator/names": { "get": { "tags": ["indicator-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getIndicatorNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/indicator/list": { "get": { "tags": ["indicator-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getIndicatorsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Indicator" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{parentModelId}/grant": { "get": { "tags": ["exam-administration-controller"], "operationId": "getSecurityKeyEntries", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SecurityKey" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}": { "get": { "tags": ["exam-administration-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getExamAdministrationById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Exam" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-administration-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteExamAdministration", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/followup": { "get": { "tags": ["exam-administration-controller"], "operationId": "getExamKeysForFollowup", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/dependency": { "get": { "tags": ["exam-administration-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getExamAdministrationDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/check-seb-restriction": { "get": { "tags": ["exam-administration-controller"], "operationId": "checkSEBRestriction", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "boolean" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/check-imported": { "get": { "tags": ["exam-administration-controller"], "operationId": "checkImported", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityKey" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/check-consistency": { "get": { "tags": ["exam-administration-controller"], "operationId": "checkExamConsistency", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "include-restriction", "in": "query", "required": false, "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/APIMessage" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/chapters": { "get": { "tags": ["exam-administration-controller"], "operationId": "getChapters", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Chapters" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/seb-settings/{modelId}/table": { "get": { "tags": ["exam-seb-settings-controller"], "operationId": "getTableValues", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "name", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TableRowValues" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/seb-settings/{modelId}/examConfigMapping": { "get": { "tags": ["exam-seb-settings-controller"], "operationId": "getExamConfigMappings", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ExamConfigurationMap" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/seb-settings/{modelId}/active-seb-clients": { "get": { "tags": ["exam-seb-settings-controller"], "operationId": "getActiveSEBClients", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "integer", "format": "int32" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/names": { "get": { "tags": ["exam-administration-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getExamAdministrationNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/list": { "get": { "tags": ["exam-administration-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getExamAdministrationsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Exam" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/{parentModelId}/indicator/{modelId}": { "get": { "tags": ["exam-template-controller"], "operationId": "getIndicatorBy", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IndicatorTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-template-controller"], "operationId": "deleteIndicatorTemplate", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityKey" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/{parentModelId}/client-group/{modelId}": { "get": { "tags": ["exam-template-controller"], "operationId": "getClientGroupTemplateBy", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientGroupTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-template-controller"], "operationId": "deleteClientGroupTemplate", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityKey" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/{modelId}": { "get": { "tags": ["exam-template-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getExamTemplateById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-template-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteExamTemplate", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/{modelId}/indicator": { "get": { "tags": ["exam-template-controller"], "operationId": "getIndicatorPage", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "page_number", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "allRequestParams", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/MultiValueMapStringString" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageIndicatorTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/{modelId}/dependency": { "get": { "tags": ["exam-template-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getExamTemplateDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/{modelId}/client-group": { "get": { "tags": ["exam-template-controller"], "operationId": "getClientGroupTemplatePage", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "page_number", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageClientGroupTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/names": { "get": { "tags": ["exam-template-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getExamTemplateNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/list": { "get": { "tags": ["exam-template-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getExamTemplatesByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ExamTemplate" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/default": { "get": { "tags": ["exam-template-controller"], "operationId": "getDefault", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamTemplate" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-configuration-map/{modelId}": { "get": { "tags": ["exam-configuration-mapping-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getExamConfigurationMappingById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExamConfigurationMap" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["exam-configuration-mapping-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteExamConfigurationMapping", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-configuration-map/{modelId}/dependency": { "get": { "tags": ["exam-configuration-mapping-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getExamConfigurationMappingDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-configuration-map/names": { "get": { "tags": ["exam-configuration-mapping-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getExamConfigurationMappingNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-configuration-map/list": { "get": { "tags": ["exam-configuration-mapping-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getExamConfigurationMappingsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ExamConfigurationMap" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_value/{modelId}": { "get": { "tags": ["configuration-value-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getConfigurationValueById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationValue" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["configuration-value-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteConfigurationValue", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_value/{modelId}/dependency": { "get": { "tags": ["configuration-value-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getConfigurationValueDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_value/names": { "get": { "tags": ["configuration-value-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getConfigurationValueNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_value/list": { "get": { "tags": ["configuration-value-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getConfigurationValuesByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ConfigurationValue" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_attribute/{modelId}": { "get": { "tags": ["configuration-attribute-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getConfigurationAttributeById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationAttribute" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["configuration-attribute-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteConfigurationAttribute", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_attribute/{modelId}/dependency": { "get": { "tags": ["configuration-attribute-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getConfigurationAttributeDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_attribute/names": { "get": { "tags": ["configuration-attribute-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getConfigurationAttributeNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_attribute/list": { "get": { "tags": ["configuration-attribute-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getConfigurationAttributesByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ConfigurationAttribute" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration/{modelId}": { "get": { "tags": ["configuration-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getConfigurationById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Configuration" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["configuration-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteConfiguration", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration/{modelId}/dependency": { "get": { "tags": ["configuration-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getConfigurationDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration/names": { "get": { "tags": ["configuration-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getConfigurationNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration/list": { "get": { "tags": ["configuration-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getConfigurationsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Configuration" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{parentModelId}/template-attribute": { "get": { "tags": ["configuration-node-controller"], "operationId": "getTemplateAttributePage", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "page_number", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "allRequestParams", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/MultiValueMapStringString" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageTemplateAttribute" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{parentModelId}/template-attribute/{modelId}": { "get": { "tags": ["configuration-node-controller"], "operationId": "getTemplateAttribute", "parameters": [ { "name": "parentModelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateAttribute" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{modelId}": { "get": { "tags": ["configuration-node-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getConfigurationNodeById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigurationNode" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["configuration-node-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteConfigurationNode", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{modelId}/settings_published": { "get": { "tags": ["configuration-node-controller"], "operationId": "settingsPublished", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingsPublished" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{modelId}/followup": { "get": { "tags": ["configuration-node-controller"], "operationId": "getFollowup", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Configuration" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{modelId}/downloadSettings": { "get": { "tags": ["configuration-node-controller"], "operationId": "downloadPlainXMLConfig", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{modelId}/dependency": { "get": { "tags": ["configuration-node-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getConfigurationNodeDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{modelId}/configkey": { "get": { "tags": ["configuration-node-controller"], "operationId": "getConfigKey", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "followup", "in": "query", "required": false, "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigKey" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/names": { "get": { "tags": ["configuration-node-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getConfigurationNodeNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/list": { "get": { "tags": ["configuration-node-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getConfigurationNodesByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ConfigurationNode" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/config-template/seb-settings/{modelId}/table": { "get": { "tags": ["template-seb-settings-controller"], "operationId": "getTableValues_1", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "name", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TableRowValues" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/{modelId}": { "get": { "tags": ["seb-client-config-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getSEBClientConfigById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SEBClientConfig" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["seb-client-config-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteSEBClientConfig", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/{modelId}/dependency": { "get": { "tags": ["seb-client-config-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getSEBClientConfigDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/names": { "get": { "tags": ["seb-client-config-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getSEBClientConfigNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/list": { "get": { "tags": ["seb-client-config-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getSEBClientConfigsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SEBClientConfig" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/inactive": { "get": { "tags": ["seb-client-config-controller"], "summary": "Get a page of all specific domain entity that are currently inactive.", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n", "operationId": "getInactiveSEBClientConfigs", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageSEBClientConfig" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/download/{modelId}": { "get": { "tags": ["seb-client-config-controller"], "operationId": "downloadSEBConfig", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "id", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/credentials/{modelId}": { "get": { "tags": ["seb-client-config-controller"], "operationId": "getClientCredentials", "parameters": [ { "name": "modelId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientCredentials" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/active": { "get": { "tags": ["seb-client-config-controller"], "summary": "Get a page of all specific domain entity that are currently active.", "description": "Sorting: the sort parameter to sort the list of entities before paging\nthe sort parameter is the name of the entity-model attribute to sort with a leading '-' sign for\ndescending sort order. Note that not all entity-model attribute are suited for sorting while the most\nare.\n", "operationId": "getActiveSEBClientConfigs", "parameters": [ { "name": "page_number", "in": "query", "description": "The number of the page to get from the whole list. If the page does not exists, the API retruns with the first page.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "page_size", "in": "query", "description": "The size of the page to get.", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "sort", "in": "query", "description": "the sort parameter to sort the list of entities before paging", "required": false, "schema": { "type": "string" } }, { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageSEBClientConfig" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client-group/{modelId}": { "get": { "tags": ["client-group-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getClientGroupById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientGroup" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["client-group-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteClientGroup", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client-group/{modelId}/dependency": { "get": { "tags": ["client-group-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getClientGroupDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client-group/names": { "get": { "tags": ["client-group-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getClientGroupNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client-group/list": { "get": { "tags": ["client-group-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getClientGroupsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ClientGroup" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/certificate/{alias}": { "get": { "tags": ["certificate-controller"], "operationId": "getAlias", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "alias", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CertificateInfo" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/certificate/names": { "get": { "tags": ["certificate-controller"], "operationId": "getCertificateNames", "parameters": [ { "name": "institutionId", "in": "query", "required": false, "schema": { "type": "integer" } }, { "name": "allRequestParams", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/MultiValueMapStringString" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/batch-action/{modelId}": { "get": { "tags": ["batch-action-controller"], "summary": "Get a single entity by its modelId.", "operationId": "getBatchActionById", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchAction" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] }, "delete": { "tags": ["batch-action-controller"], "summary": "Deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "deleteBatchAction", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/batch-action/{modelId}/dependency": { "get": { "tags": ["batch-action-controller"], "summary": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.", "description": "Get a list of dependency keys of all dependent entity objects for a specified source entity and bulk action.\n This can be used to verify depended objects for a certain bulk action to give a report of affected objects beforehand.\n For example for a delete action of a certain object, this gives all objects that will also be deleted within the deletion of the source object", "operationId": "getBatchActionDependencies", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the source entity object to geht the dependencies for.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionType", "in": "query", "description": "The bulk action type defining the type of action to get the dependencies for.\nThis is the name of the enumeration ", "required": true, "schema": { "type": "string", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"] } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityDependency" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/batch-action/names": { "get": { "tags": ["batch-action-controller"], "summary": "Get a filtered list of specific entity name keys.", "description": "An entity name key is a minimal entity data object with the entity-type, modelId and the name of the entity.

\nFilter: The filter attributes accepted by this API depend on the actual entity model (domain object)\nand are of the form [domain-attribute-name]=[filter-value]. E.g.: name=abc or type=EXAM. Usually\nfilter attributes of text type are treated as SQL wildcard with %[text]% to filter all text containing\na given text-snippet.", "operationId": "getBatchActionNames", "parameters": [ { "name": "institutionId", "in": "query", "description": "The institution identifier of the request.\nDefault is the institution identifier of the institution of the current user", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/batch-action/list": { "get": { "tags": ["batch-action-controller"], "summary": "Get a list of entity objects by a given list of model identifiers of entities.", "operationId": "getBatchActionsByIds", "parameters": [ { "name": "modelIds", "in": "query", "description": "Comma separated list of model identifiers.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/BatchAction" } } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useractivity/{modelId}/force": { "delete": { "tags": ["user-activity-log-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteUserActivityLog", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/useraccount/{modelId}/force": { "delete": { "tags": ["UserAccount"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteUserAccount", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-event/{modelId}/force": { "delete": { "tags": ["client-event-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteClientEvent", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/seb-client-connection/{modelId}/force": { "delete": { "tags": ["client-connection-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteClientConnection", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/{modelId}/force": { "delete": { "tags": ["orientation-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteOrientation", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/orientation/view/{modelId}/force": { "delete": { "tags": ["view-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteView", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/lms-setup/{modelId}/force": { "delete": { "tags": ["lms-setup-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteLmsSetup", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/institution/{modelId}/force": { "delete": { "tags": ["Institution"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteInstitution", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/indicator/{modelId}/force": { "delete": { "tags": ["indicator-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteIndicator", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam/{modelId}/force": { "delete": { "tags": ["exam-administration-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteExamAdministration", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-template/{modelId}/force": { "delete": { "tags": ["exam-template-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteExamTemplate", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/exam-configuration-map/{modelId}/force": { "delete": { "tags": ["exam-configuration-mapping-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteExamConfigurationMapping", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_value/{modelId}/force": { "delete": { "tags": ["configuration-value-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteConfigurationValue", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration_attribute/{modelId}/force": { "delete": { "tags": ["configuration-attribute-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteConfigurationAttribute", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration/{modelId}/force": { "delete": { "tags": ["configuration-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteConfiguration", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/configuration-node/{modelId}/force": { "delete": { "tags": ["configuration-node-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteConfigurationNode", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client_configuration/{modelId}/force": { "delete": { "tags": ["seb-client-config-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteSEBClientConfig", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/client-group/{modelId}/force": { "delete": { "tags": ["client-group-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteClientGroup", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } }, "/admin-api/v1/batch-action/{modelId}/force": { "delete": { "tags": ["batch-action-controller"], "summary": "Force deletes a single entity (and all its dependencies) by its modelId.", "description": "To check or report what dependent object also would be deleted for a certain entity object, please use the dependency endpoint to get a report of all dependent entity objects.", "operationId": "forceDeleteBatchAction", "parameters": [ { "name": "modelId", "in": "path", "description": "The model identifier of the entity object to get.", "required": true, "schema": { "type": "string" } }, { "name": "bulkActionAddIncludes", "in": "query", "description": "Indicates if the following 'includes' parameter shall be processed or not.\n The default is false ", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "bulkActionIncludes", "in": "query", "description": "A comma separated list of names of the EntityType enumeration that defines all entity types that shall be included in the result.", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": {} } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntityProcessingReport" } } } }, "400": { "$ref": "#/components/responses/Error400BadRequest" }, "401": { "$ref": "#/components/responses/Error401Unauthorized" }, "403": { "$ref": "#/components/responses/Error403Forbidden" }, "404": { "$ref": "#/components/responses/Error404NotFound" }, "429": { "$ref": "#/components/responses/Error429TooManyRequests" }, "500": { "$ref": "#/components/responses/Error500InternalServerError" } }, "security": [{ "oauth": [] }] } } }, "components": { "schemas": { "UserActivityLog": { "type": "object", "properties": { "id": { "type": "integer" }, "userUuid": { "type": "string" }, "username": { "type": "string" }, "timestamp": { "type": "integer" }, "activityType": { "type": "string", "enum": [ "REGISTER", "CREATE", "IMPORT", "EXPORT", "MODIFY", "PASSWORD_CHANGE", "DEACTIVATE", "ACTIVATE", "FINISHED", "DELETE", "LOGIN", "LOGOUT", "ARCHIVE", "REGISTER_INSTRUCTION" ] }, "entityType": { "type": "string", "enum": [ "CONFIGURATION_ATTRIBUTE", "CONFIGURATION_VALUE", "VIEW", "ORIENTATION", "CONFIGURATION", "CONFIGURATION_NODE", "EXAM_CONFIGURATION_MAP", "EXAM", "EXAM_SEB_RESTRICTION", "EXAM_PROCTOR_DATA", "CLIENT_CONNECTION", "REMOTE_PROCTORING_ROOM", "SCREEN_PROCTORING_GROUP", "CLIENT_EVENT", "CLIENT_INSTRUCTION", "INDICATOR", "THRESHOLD", "INSTITUTION", "SEB_CLIENT_CONFIGURATION", "LMS_SETUP", "USER", "USER_ROLE", "USER_ACTIVITY_LOG", "ADDITIONAL_ATTRIBUTES", "WEBSERVICE_SERVER_INFO", "CERTIFICATE", "EXAM_TEMPLATE", "BATCH_ACTION", "CLIENT_INDICATOR", "CLIENT_NOTIFICATION", "CLIENT_GROUP", "SEB_SECURITY_KEY_REGISTRY", "ENTITY_PRIVILEGE", "FEATURE_PRIVILEGE", "SCHEDULED_DELETE", "SCHEDULED_DELETE_INFO", "CONFIGURATION_ATTRIBUTE_DEPRECATION" ] }, "entityId": { "type": "string" }, "message": { "type": "string" } } }, "EntityPrivilege": { "type": "object", "description": "Entity-level privilege assigned to a user account.", "properties": { "id": { "type": "integer", "description": "Privilege record identifier.", "example": 42 }, "entityType": { "type": "string", "description": "Entity type this privilege applies to.", "enum": [ "CONFIGURATION_ATTRIBUTE", "CONFIGURATION_VALUE", "VIEW", "ORIENTATION", "CONFIGURATION", "CONFIGURATION_NODE", "EXAM_CONFIGURATION_MAP", "EXAM", "EXAM_SEB_RESTRICTION", "EXAM_PROCTOR_DATA", "CLIENT_CONNECTION", "REMOTE_PROCTORING_ROOM", "SCREEN_PROCTORING_GROUP", "CLIENT_EVENT", "CLIENT_INSTRUCTION", "INDICATOR", "THRESHOLD", "INSTITUTION", "SEB_CLIENT_CONFIGURATION", "LMS_SETUP", "USER", "USER_ROLE", "USER_ACTIVITY_LOG", "ADDITIONAL_ATTRIBUTES", "WEBSERVICE_SERVER_INFO", "CERTIFICATE", "EXAM_TEMPLATE", "BATCH_ACTION", "CLIENT_INDICATOR", "CLIENT_NOTIFICATION", "CLIENT_GROUP", "SEB_SECURITY_KEY_REGISTRY", "ENTITY_PRIVILEGE", "FEATURE_PRIVILEGE", "SCHEDULED_DELETE", "SCHEDULED_DELETE_INFO", "CONFIGURATION_ATTRIBUTE_DEPRECATION" ], "example": "EXAM" }, "entityId": { "type": "integer", "description": "Entity identifier this privilege applies to.", "example": 120 }, "userUuid": { "type": "string", "description": "User UUID that owns this privilege.", "example": "f91f9c0a-15a1-4c65-89c2-2b60310f2c12" }, "privilegeType": { "type": "string", "description": "Assigned privilege type.", "enum": ["NONE", "ASSIGNED", "READ", "MODIFY", "WRITE"], "example": "READ" } } }, "FeaturePrivilege": { "type": "object", "properties": { "id": { "type": "integer" }, "featureId": { "type": "integer" }, "userUuid": { "type": "string" } } }, "UserInfo": { "type": "object", "description": "User account read and update model.", "properties": { "uuid": { "type": "string", "description": "User UUID.", "example": "f91f9c0a-15a1-4c65-89c2-2b60310f2c12" }, "institutionId": { "type": "integer", "description": "Institution identifier the user belongs to.", "example": 1 }, "creationDate": { "type": "string", "format": "date-time", "description": "Creation timestamp." }, "name": { "type": "string", "description": "First name of the user.", "example": "Ada", "maxLength": 255, "minLength": 0 }, "surname": { "type": "string", "description": "Surname of the user.", "example": "Lovelace", "maxLength": 255, "minLength": 0 }, "username": { "type": "string", "description": "Login username.", "example": "ada.lovelace", "maxLength": 255, "minLength": 3 }, "email": { "type": "string", "format": "email", "description": "User email address.", "example": "ada@example.org" }, "active": { "type": "boolean", "description": "Whether the user account is active.", "example": true }, "directLogin": { "type": "boolean", "description": "Whether direct login is enabled for this account.", "example": true }, "localAccount": { "type": "boolean", "description": "Whether this is a local SEB Server account.", "example": true }, "language": { "type": "string", "description": "User locale.", "example": "en" }, "timezone": { "type": "string", "description": "User time zone.", "example": "Europe/Zurich" }, "userRoles": { "type": "array", "items": { "type": "string", "enum": [ "SEB_SERVER_ADMIN", "INSTITUTIONAL_ADMIN", "EXAM_ADMIN", "EXAM_SUPPORTER", "TEACHER" ] }, "minItems": 1, "uniqueItems": true }, "entityPrivileges": { "type": "array", "description": "Entity-level privileges assigned to the user.", "items": { "$ref": "#/components/schemas/EntityPrivilege" } }, "featurePrivileges": { "type": "array", "items": { "$ref": "#/components/schemas/FeaturePrivilege" } } }, "required": [ "active", "institutionId", "language", "name", "surname", "timezone", "userRoles", "username", "uuid" ] }, "PasswordChange": { "type": "object", "description": "Request model for changing a user account password.", "properties": { "uuid": { "type": "string", "description": "User UUID whose password is changed.", "example": "f91f9c0a-15a1-4c65-89c2-2b60310f2c12" }, "password": { "type": "string", "format": "password", "description": "Current password.", "minLength": 1 }, "newPassword": { "type": "string", "format": "password", "description": "New password.", "maxLength": 255, "minLength": 8 }, "confirmNewPassword": { "type": "string", "format": "password", "description": "Repeated new password.", "minLength": 1 } }, "required": [ "confirmNewPassword", "newPassword", "password", "uuid" ] }, "ClientEvent": { "type": "object", "properties": { "id": { "type": "integer" }, "clientConnectionId": { "type": "integer" }, "type": { "type": "string", "enum": [ "UNKNOWN", "DEBUG_LOG", "INFO_LOG", "WARN_LOG", "ERROR_LOG", "NOTIFICATION", "NOTIFICATION_CONFIRMED" ] }, "timestamp": { "type": "integer" }, "serverTime": { "type": "integer" }, "numericValue": { "type": "number", "format": "double" }, "text": { "type": "string" }, "value": { "type": "number", "format": "double" } } }, "ClientConnection": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "examId": { "type": "integer" }, "status": { "type": "string", "enum": [ "UNDEFINED", "CONNECTION_REQUESTED", "READY", "ACTIVE", "CLOSED", "DISABLED" ] }, "connectionToken": { "type": "string" }, "examUserSessionId": { "type": "string" }, "seb_info": { "type": "string" }, "clientAddress": { "type": "string" }, "clientOsName": { "type": "string" }, "clientVersion": { "type": "string" }, "securityCheckGranted": { "type": "boolean" }, "clientVersionGranted": { "type": "boolean" } } }, "Orientation": { "type": "object", "properties": { "id": { "type": "integer" }, "configAttributeId": { "type": "integer" }, "templateId": { "type": "integer" }, "viewId": { "type": "integer" }, "groupId": { "type": "string" }, "xPosition": { "type": "integer", "format": "int32" }, "yPosition": { "type": "integer", "format": "int32" }, "width": { "type": "integer", "format": "int32" }, "height": { "type": "integer", "format": "int32" }, "title": { "type": "string", "enum": [ "NONE", "LEFT", "LEFT_SPAN", "RIGHT", "RIGHT_SPAN", "TOP" ] } }, "required": ["configAttributeId"] }, "View": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "columns": { "type": "integer", "format": "int32" }, "position": { "type": "integer", "format": "int32" }, "templateId": { "type": "integer" } }, "required": ["columns", "position"] }, "LmsSetup": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "name": { "type": "string", "maxLength": 255, "minLength": 3 }, "lmsType": { "type": "string", "enum": [ "MOCKUP", "OPEN_EDX", "MOODLE", "MOODLE_PLUGIN", "ANS_DELFT", "OPEN_OLAT" ] }, "lmsClientname": { "type": "string" }, "lmsClientsecret": { "type": "string" }, "lmsUrl": { "type": "string" }, "lmsRestApiToken": { "type": "string" }, "lmsProxyHost": { "type": "string" }, "lmsProxyPort": { "type": "integer", "format": "int32" }, "lmsProxyAuthUsername": { "type": "string" }, "lmsProxyAuthSecret": { "type": "string" }, "active": { "type": "boolean" }, "updateTime": { "type": "integer" }, "connectionId": { "type": "string" }, "integrationActive": { "type": "boolean" } }, "required": ["institutionId", "lmsType", "name"] }, "APIMessage": { "type": "object", "description": "Structured SEB Server API error or validation message.", "properties": { "messageCode": { "type": "string", "description": "Stable SEB Server message code.", "example": 1200 }, "systemMessage": { "type": "string", "description": "Short backend-defined message for the error.", "example": "Field validation error" }, "details": { "type": "string", "description": "Optional technical details for diagnostics." }, "attributes": { "type": "array", "description": "Optional message attributes, usually field names or validation context.", "items": { "type": "string" } } }, "required": ["messageCode"] }, "LmsSetupError": { "type": "object", "properties": { "errorType": { "type": "string", "enum": [ "API_NOT_SUPPORTED", "MISSING_ATTRIBUTE", "TOKEN_REQUEST", "QUIZ_ACCESS_API_REQUEST", "QUIZ_RESTRICTION_API_REQUEST", "TEMPLATE_CREATION", "APPLY_FULL_INTEGRATION" ] }, "errorMessage": { "type": "string" } } }, "LmsSetupTestResult": { "type": "object", "properties": { "lmsType": { "type": "string", "enum": [ "MOCKUP", "OPEN_EDX", "MOODLE", "MOODLE_PLUGIN", "ANS_DELFT", "OPEN_OLAT" ] }, "errors": { "type": "array", "items": { "$ref": "#/components/schemas/LmsSetupError" } }, "missingLMSSetupAttribute": { "type": "array", "items": { "$ref": "#/components/schemas/APIMessage" } } } }, "Institution": { "type": "object", "description": "An institution managed by SEB Server.", "properties": { "id": { "type": "integer", "description": "Institution identifier. Omit for creation; assigned by the server." }, "name": { "type": "string", "description": "Institution name.", "example": "ETH Zurich", "maxLength": 255, "minLength": 3 }, "urlSuffix": { "type": "string", "description": "URL path suffix that routes to this institution. Empty, or 3 to 45 characters.", "example": "eth", "maxLength": 45, "pattern": "(^$|.{3,45})" }, "logoImage": { "type": "string", "description": "Base64-encoded institution logo image." }, "themeName": { "type": "string", "description": "Name of the visual theme applied for this institution." }, "active": { "type": "boolean", "description": "Whether the institution is active.", "example": true } }, "required": ["name"] }, "Indicator": { "type": "object", "properties": { "id": { "type": "integer" }, "examId": { "type": "integer" }, "name": { "type": "string", "maxLength": 255, "minLength": 3 }, "type": { "type": "string", "enum": [ "UNKNOWN", "LAST_PING", "ERROR_COUNT", "WARN_COUNT", "INFO_COUNT", "BATTERY_STATUS", "WLAN_STATUS" ] }, "color": { "type": "string" }, "icon": { "type": "string" }, "tags": { "type": "string" }, "thresholds": { "type": "array", "items": { "$ref": "#/components/schemas/Threshold" } } }, "required": ["examId", "name", "type"] }, "Threshold": { "type": "object", "properties": { "value": { "type": "number", "format": "double" }, "color": { "type": "string" }, "icon": { "type": "string" } }, "required": ["value"] }, "Exam": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "lmsSetupId": { "type": "integer" }, "externalId": { "type": "string" }, "lmsAvailable": { "type": "boolean" }, "quizName": { "type": "string" }, "quizStartTime": { "type": "string", "format": "date-time" }, "quizEndTime": { "type": "string", "format": "date-time" }, "type": { "type": "string", "enum": ["UNDEFINED", "MANAGED", "BYOD", "VDI"] }, "owner": { "type": "string" }, "supporter": { "type": "array", "items": { "type": "string" } }, "status": { "type": "string", "enum": [ "UP_COMING", "TEST_RUN", "RUNNING", "FINISHED", "ARCHIVED" ] }, "quitPassword": { "type": "string" }, "lmsSebRestriction": { "type": "boolean" }, "browserKeys": { "type": "string" }, "active": { "type": "boolean" }, "lastupdate": { "type": "string" }, "examTemplateId": { "type": "integer" }, "lastModified": { "type": "integer" }, "followupId": { "type": "integer" }, "excludeFromDeletion": { "type": "boolean" }, "additionalAttributes": { "type": "object", "additionalProperties": { "type": "string" } }, "description": { "type": "string" }, "startURL": { "type": "string" } }, "required": ["externalId", "institutionId", "type"] }, "ClientGroupTemplate": { "type": "object", "properties": { "id": { "type": "integer" }, "examId": { "type": "integer", "writeOnly": true }, "name": { "type": "string", "maxLength": 255, "minLength": 3 }, "type": { "type": "string", "enum": [ "NONE", "IP_V4_RANGE", "CLIENT_OS", "NAME_ALPHABETICAL_RANGE" ] }, "color": { "type": "string" }, "icon": { "type": "string" }, "ipRangeStart": { "type": "string" }, "ipRangeEnd": { "type": "string" }, "clientOS": { "type": "string", "enum": [ "NONE", "WINDOWS", "MAC_OS", "I_OS", "IPAD_OS", "I_OS_OR_IPAD_OS" ] }, "nameRangeStartLetter": { "type": "string" }, "nameRangeEndLetter": { "type": "string" }, "screenProctoringEnabled": { "type": "boolean" }, "examTemplateId": { "type": "integer" } }, "required": ["name", "type"] }, "ExamTemplate": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "name": { "type": "string", "maxLength": 255, "minLength": 3 }, "description": { "type": "string", "maxLength": 4000, "minLength": 0 }, "examType": { "type": "string", "enum": ["UNDEFINED", "MANAGED", "BYOD", "VDI"] }, "supporter": { "type": "array", "items": { "type": "string" } }, "configurationTemplateId": { "type": "integer" }, "institutionalDefault": { "type": "boolean" }, "lmsIntegration": { "type": "boolean" }, "clientConfigurationId": { "type": "integer" }, "indicatorTemplates": { "type": "array", "items": { "$ref": "#/components/schemas/IndicatorTemplate" } }, "CLIENT_GROUP_TEMPLATES": { "type": "array", "items": { "$ref": "#/components/schemas/ClientGroupTemplate" } }, "EXAM_ATTRIBUTES": { "type": "object", "additionalProperties": { "type": "string" } } }, "required": ["institutionId", "name"] }, "IndicatorTemplate": { "type": "object", "properties": { "id": { "type": "integer" }, "examTemplateId": { "type": "integer" }, "name": { "type": "string", "maxLength": 255, "minLength": 3 }, "type": { "type": "string", "enum": [ "UNKNOWN", "LAST_PING", "ERROR_COUNT", "WARN_COUNT", "INFO_COUNT", "BATTERY_STATUS", "WLAN_STATUS" ] }, "color": { "type": "string" }, "icon": { "type": "string" }, "tags": { "type": "string" }, "thresholds": { "type": "array", "items": { "$ref": "#/components/schemas/Threshold" } } }, "required": ["name", "type"] }, "ExamConfigurationMap": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "examId": { "type": "integer" }, "quiz_name": { "type": "string" }, "quiz_description": { "type": "string" }, "quiz_start_time": { "type": "string", "format": "date-time" }, "type": { "type": "string", "enum": ["UNDEFINED", "MANAGED", "BYOD", "VDI"] }, "examStatus": { "type": "string", "enum": [ "UP_COMING", "TEST_RUN", "RUNNING", "FINISHED", "ARCHIVED" ] }, "configurationNodeId": { "type": "integer" }, "clientGroupId": { "type": "integer" }, "encryptSecret": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "confirm_encrypt_secret": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "name": { "type": "string" }, "description": { "type": "string" }, "status": { "type": "string", "enum": [ "CONSTRUCTION", "READY_TO_USE", "IN_USE", "ARCHIVED" ] } }, "required": ["configurationNodeId", "examId", "institutionId"] }, "ConfigurationValue": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "configurationId": { "type": "integer" }, "configurationAttributeId": { "type": "integer" }, "listIndex": { "type": "integer", "format": "int32" }, "value": { "type": "string" } } }, "ConfigurationTableValues": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "configurationId": { "type": "integer" }, "configurationAttributeId": { "type": "integer" }, "tableValues": { "type": "array", "items": { "$ref": "#/components/schemas/TableValue" } } }, "required": [ "configurationAttributeId", "configurationId", "institutionId" ] }, "TableValue": { "type": "object", "properties": { "configurationAttributeId": { "type": "integer" }, "listIndex": { "type": "integer", "format": "int32" }, "value": { "type": "string" } } }, "ConfigurationAttribute": { "type": "object", "properties": { "id": { "type": "integer" }, "parentId": { "type": "integer" }, "name": { "type": "string", "maxLength": 255, "minLength": 3 }, "type": { "type": "string", "enum": [ "LABEL", "TEXT_FIELD", "PASSWORD_FIELD", "TEXT_AREA", "TEXT_FIELD_LIST", "CHECKBOX", "SLIDER", "INTEGER", "DECIMAL", "SINGLE_SELECTION", "COMBO_SELECTION", "RADIO_SELECTION", "MULTI_SELECTION", "MULTI_CHECKBOX_SELECTION", "COLOR_SELECTOR", "FILE_UPLOAD", "TABLE", "INLINE_TABLE", "COMPOSITE_TABLE" ] }, "resources": { "type": "string" }, "validator": { "type": "string" }, "dependencies": { "type": "string" }, "defaultValue": { "type": "string" } }, "required": ["name", "type"] }, "Configuration": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "configurationNodeId": { "type": "integer" }, "version": { "type": "string" }, "versionDate": { "type": "string", "format": "date-time" }, "followup": { "type": "boolean" } }, "required": [ "configurationNodeId", "followup", "institutionId", "versionDate" ] }, "ConfigurationNode": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "templateId": { "type": "integer" }, "name": { "type": "string", "maxLength": 255, "minLength": 3 }, "description": { "type": "string", "maxLength": 4000, "minLength": 0 }, "type": { "type": "string", "enum": ["TEMPLATE", "EXAM_CONFIG"] }, "owner": { "type": "string" }, "status": { "type": "string", "enum": [ "CONSTRUCTION", "READY_TO_USE", "IN_USE", "ARCHIVED" ] }, "lastUpdateTime": { "type": "string", "format": "date-time" }, "lastUpdateUser": { "type": "string" }, "lastUpdateUserName": { "type": "string" } }, "required": ["institutionId", "name", "type"] }, "ConfigCreationInfo": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string", "maxLength": 255, "minLength": 3 }, "description": { "type": "string", "maxLength": 4000, "minLength": 0 }, "with-history": { "type": "boolean" }, "type": { "type": "string", "enum": ["TEMPLATE", "EXAM_CONFIG"] } }, "required": ["id", "name"] }, "SEBClientConfig": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "name": { "type": "string", "maxLength": 255, "minLength": 3 }, "sebConfigPurpose": { "type": "string", "enum": ["START_EXAM", "CONFIGURE_CLIENT"] }, "sebServerPingTime": { "type": "integer" }, "vdiSetup": { "type": "string", "enum": ["NO", "VM_WARE"] }, "vdiExecutable": { "type": "string" }, "vdiPath": { "type": "string" }, "vdiArguments": { "type": "string" }, "sebServerFallback": { "type": "boolean" }, "startURL": { "type": "string" }, "sebServerFallbackTimeout": { "type": "integer" }, "sebServerFallbackAttempts": { "type": "integer" }, "sebServerFallbackAttemptInterval": { "type": "integer" }, "sebServerFallbackPasswordHash": { "type": "string" }, "sebServerFallbackPasswordHashConfirm": { "type": "string" }, "hashedQuitPassword": { "type": "string" }, "hashedQuitPasswordConfirm": { "type": "string" }, "date": { "type": "string", "format": "date-time" }, "encryptSecret": { "type": "string" }, "confirm_encrypt_secret": { "type": "string" }, "cert_alias": { "type": "string" }, "cert_encryption_asym": { "type": "boolean" }, "active": { "type": "boolean" }, "lastUpdateTime": { "type": "string", "format": "date-time" }, "lastUpdateUser": { "type": "string" }, "exam_selection": { "type": "array", "items": { "type": "integer" }, "uniqueItems": true } }, "required": ["name", "sebConfigPurpose"] }, "ClientGroup": { "type": "object", "properties": { "id": { "type": "integer" }, "examId": { "type": "integer" }, "name": { "type": "string", "maxLength": 255, "minLength": 3 }, "type": { "type": "string", "enum": [ "NONE", "IP_V4_RANGE", "CLIENT_OS", "NAME_ALPHABETICAL_RANGE" ] }, "color": { "type": "string" }, "icon": { "type": "string" }, "ipRangeStart": { "type": "string" }, "ipRangeEnd": { "type": "string" }, "clientOS": { "type": "string", "enum": [ "NONE", "WINDOWS", "MAC_OS", "I_OS", "IPAD_OS", "I_OS_OR_IPAD_OS" ] }, "nameRangeStartLetter": { "type": "string" }, "nameRangeEndLetter": { "type": "string" }, "isSPSGroup": { "type": "boolean" }, "spsgroup": { "type": "boolean" } }, "required": ["examId", "name", "type"] }, "BatchAction": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "owner": { "type": "string" }, "actionType": { "type": "string", "enum": [ "EXAM_CONFIG_STATE_CHANGE", "EXAM_CONFIG_REST_TEMPLATE_SETTINGS", "EXAM_CONFIG_DELETE", "ARCHIVE_EXAM", "DELETE_EXAM" ] }, "attributes": { "type": "object", "additionalProperties": { "type": "string" } }, "sourceIds": { "type": "array", "items": { "type": "string" } }, "successful": { "type": "array", "items": { "type": "string" } }, "lastUpdate": { "type": "integer" }, "processorId": { "type": "string" }, "failures": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/APIMessage" } } }, "required": [ "actionType", "institutionId", "owner", "sourceIds" ] }, "EntityKey": { "type": "object", "description": "Unique key of a SEB Server domain entity.", "properties": { "modelId": { "type": "string", "description": "Entity model identifier.", "example": "f91f9c0a-15a1-4c65-89c2-2b60310f2c12" }, "entityType": { "type": "string", "description": "SEB Server domain entity type.", "enum": [ "CONFIGURATION_ATTRIBUTE", "CONFIGURATION_VALUE", "VIEW", "ORIENTATION", "CONFIGURATION", "CONFIGURATION_NODE", "EXAM_CONFIGURATION_MAP", "EXAM", "EXAM_SEB_RESTRICTION", "EXAM_PROCTOR_DATA", "CLIENT_CONNECTION", "REMOTE_PROCTORING_ROOM", "SCREEN_PROCTORING_GROUP", "CLIENT_EVENT", "CLIENT_INSTRUCTION", "INDICATOR", "THRESHOLD", "INSTITUTION", "SEB_CLIENT_CONFIGURATION", "LMS_SETUP", "USER", "USER_ROLE", "USER_ACTIVITY_LOG", "ADDITIONAL_ATTRIBUTES", "WEBSERVICE_SERVER_INFO", "CERTIFICATE", "EXAM_TEMPLATE", "BATCH_ACTION", "CLIENT_INDICATOR", "CLIENT_NOTIFICATION", "CLIENT_GROUP", "SEB_SECURITY_KEY_REGISTRY", "ENTITY_PRIVILEGE", "FEATURE_PRIVILEGE", "SCHEDULED_DELETE", "SCHEDULED_DELETE_INFO", "CONFIGURATION_ATTRIBUTE_DEPRECATION" ], "example": "USER" } }, "required": ["entityType", "modelId"] }, "LoginForward": { "type": "object", "properties": { "entityKey": { "$ref": "#/components/schemas/EntityKey" }, "actionName": { "type": "string" } } }, "TokenLoginInfo": { "type": "object", "properties": { "username": { "type": "string" }, "userUUID": { "type": "string" }, "redirect": { "$ref": "#/components/schemas/LoginForward" }, "token": { "type": "string" } } }, "TokenLoginResponse": { "type": "object", "properties": { "id": { "type": "string" }, "login_link": { "type": "string" } } }, "MultiValueMapStringString": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "properties": { "all": { "type": "object", "additionalProperties": { "type": "string" }, "writeOnly": true }, "empty": { "type": "boolean" } } }, "RunningExamInfo": { "type": "object", "properties": { "examId": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "lmsType": { "type": "string" } } }, "EntityProcessingErrorEntry": { "type": "object", "description": "Error entry inside an entity processing report.", "properties": { "entity_key": { "$ref": "#/components/schemas/EntityKey", "description": "Entity that caused the error." }, "error_message": { "$ref": "#/components/schemas/APIMessage", "description": "Structured API error message." } }, "required": ["error_message"] }, "EntityProcessingReport": { "type": "object", "description": "Result report for delete, activate, and deactivate bulk actions.", "properties": { "source": { "type": "array", "description": "Entities requested for processing.", "items": { "$ref": "#/components/schemas/EntityKey" }, "uniqueItems": true }, "results": { "type": "array", "description": "Entities processed or detected as dependencies.", "items": { "$ref": "#/components/schemas/EntityKey" }, "uniqueItems": true }, "errors": { "type": "array", "description": "Per-entity processing errors.", "items": { "$ref": "#/components/schemas/EntityProcessingErrorEntry" }, "uniqueItems": true }, "bulkActionType": { "type": "string", "description": "Bulk action that produced this report.", "enum": ["HARD_DELETE", "DEACTIVATE", "ACTIVATE"], "example": "HARD_DELETE" } }, "required": ["bulkActionType", "errors", "results", "source"] }, "SessionDeletionInfo": { "type": "object", "properties": { "session": { "$ref": "#/components/schemas/SessionInfo" }, "groupName": { "type": "string" }, "examName": { "type": "string" }, "examUUID": { "type": "string" }, "institutionId": { "type": "integer" }, "numberOfScreenshots": { "type": "integer" } } }, "SessionDeletionReport": { "type": "object", "properties": { "searchName": { "type": "string" }, "deleteDueTime": { "type": "integer" }, "sebServerDeletions": { "type": "array", "items": { "$ref": "#/components/schemas/SessionInfo" } }, "spsDeletions": { "type": "array", "items": { "$ref": "#/components/schemas/SessionDeletionInfo" } } } }, "SessionInfo": { "type": "object", "properties": { "uuid": { "type": "string" }, "clientName": { "type": "string" }, "clientIp": { "type": "string" }, "clientMachineName": { "type": "string" }, "clientOsName": { "type": "string" }, "clientVersion": { "type": "string" }, "creationTime": { "type": "integer" }, "terminationTime": { "type": "integer" }, "error": { "type": "string" } } }, "GroupInfo": { "type": "object", "properties": { "groupName": { "type": "string" }, "numberOfSessions": { "type": "string" } } }, "ScheduledDeleteReport": { "type": "object", "properties": { "id": { "type": "integer" }, "spsId": { "type": "integer" }, "state": { "type": "string", "enum": [ "PENDING", "SPS_RUNNING", "RUNNING", "FINISHED" ] }, "deleteDueTime": { "type": "integer" }, "scheduleTime": { "type": "integer" }, "startTime": { "type": "integer" }, "endTime": { "type": "integer" }, "institutionId": { "type": "integer" }, "examDeletions": { "type": "array", "items": { "$ref": "#/components/schemas/ScheduledDeleteViewInfo" } }, "spsOnlyDeletions": { "type": "array", "items": { "$ref": "#/components/schemas/ScheduledDeleteViewInfo" } } } }, "ScheduledDeleteViewInfo": { "type": "object", "properties": { "examUUID": { "type": "string" }, "examName": { "type": "string" }, "examStartTime": { "type": "integer" }, "numberOfSessions": { "type": "string" }, "spsExamName": { "type": "string" }, "spsGroupNames": { "type": "array", "items": { "$ref": "#/components/schemas/GroupInfo" }, "writeOnly": true }, "error": { "type": "string" }, "errorType": { "type": "string", "enum": [ "UNDEFINED", "SERVER_ERROR", "DATABASE_CONSTRAINT_ERROR", "DATA_INCONSISTENCY_ERROR", "EXCLUDED_FROM_DELETION" ] }, "spsGroups": { "type": "array", "items": { "$ref": "#/components/schemas/GroupInfo" } } } }, "UserMod": { "type": "object", "description": "User account creation and self-registration form model.", "properties": { "uuid": { "type": "string", "description": "User UUID. Omit this for new user creation." }, "institutionId": { "type": "integer", "description": "Institution identifier the user belongs to.", "example": 1 }, "name": { "type": "string", "description": "First name of the user.", "example": "Ada", "maxLength": 255, "minLength": 0 }, "surname": { "type": "string", "description": "Surname of the user.", "example": "Lovelace", "maxLength": 255, "minLength": 0 }, "username": { "type": "string", "description": "Login username.", "example": "ada.lovelace", "maxLength": 255, "minLength": 3 }, "newPassword": { "type": "string", "format": "password", "description": "New account password.", "maxLength": 255, "minLength": 8 }, "confirmNewPassword": { "type": "string", "format": "password", "description": "Repeated new account password." }, "email": { "type": "string", "format": "email", "description": "User email address.", "example": "ada@example.org" }, "language": { "type": "string", "description": "User locale.", "example": "en" }, "timezone": { "type": "string", "description": "User time zone.", "example": "Europe/Zurich" }, "localAccount": { "type": "boolean", "description": "Whether this is a local SEB Server account.", "example": true }, "directLogin": { "type": "boolean", "description": "Whether direct login is enabled for this account.", "example": true }, "userRoles": { "type": "array", "items": { "type": "string", "enum": [ "SEB_SERVER_ADMIN", "INSTITUTIONAL_ADMIN", "EXAM_ADMIN", "EXAM_SUPPORTER", "TEACHER" ] }, "minItems": 1, "uniqueItems": true } }, "required": [ "confirmNewPassword", "institutionId", "language", "name", "newPassword", "surname", "timezone", "userRoles", "username" ] }, "ClientStaticData": { "type": "object", "properties": { "id": { "type": "integer" }, "connectionToken": { "type": "string" }, "examUserSessionId": { "type": "string" }, "ask": { "type": "string" }, "seb_info": { "type": "string" }, "cg": { "type": "array", "items": { "type": "integer" }, "uniqueItems": true } } }, "MonitoringStaticClientData": { "type": "object", "properties": { "staticClientConnectionData": { "type": "array", "items": { "$ref": "#/components/schemas/ClientStaticData" } }, "duplications": { "type": "array", "items": { "type": "integer" }, "uniqueItems": true } } }, "ClientInstruction": { "type": "object", "properties": { "id": { "type": "integer" }, "examId": { "type": "integer" }, "type": { "type": "string", "enum": [ "SEB_QUIT", "SEB_PROCTORING", "SEB_RECONFIGURE_SETTINGS", "NOTIFICATION_CONFIRM", "SEB_FORCE_LOCK_SCREEN" ] }, "connectionToken": { "type": "string", "minLength": 1 }, "attributes": { "type": "object", "additionalProperties": { "type": "string" } } }, "required": ["examId", "type"] }, "ProctoringRoomConnection": { "type": "object", "properties": { "serverType": { "type": "string", "enum": ["JITSI_MEET", "ZOOM"] }, "connectionToken": { "type": "string" }, "serverHost": { "type": "string" }, "serverURL": { "type": "string" }, "roomName": { "type": "string" }, "subject": { "type": "string" }, "accessToken": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "sdkToken": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "roomKey": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "apiKey": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "meetingId": { "type": "string" }, "userName": { "type": "string" }, "roomData": { "type": "string" } } }, "SecurityKey": { "type": "object", "properties": { "id": { "type": "integer" }, "institutionId": { "type": "integer" }, "keyType": { "type": "string", "enum": [ "UNDEFINED", "CONFIG_KEY", "BROWSER_EXAM_KEY", "APP_SIGNATURE_KEY" ] }, "keyValue": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "tag": { "type": "string" }, "examId": { "type": "integer" }, "examTemplateId": { "type": "integer" } }, "required": ["institutionId", "keyType", "keyValue"] }, "SEBRestriction": { "type": "object", "properties": { "id": { "type": "integer" }, "configKeys": { "type": "array", "items": { "type": "string" } }, "browserExamKeys": { "type": "array", "items": { "type": "string" } }, "additionalProperties": { "type": "object", "additionalProperties": { "type": "string" } }, "warningMessage": { "type": "string" } } }, "ScreenProctoringSettings": { "type": "object", "properties": { "id": { "type": "integer" }, "enableScreenProctoring": { "type": "boolean" }, "spsServiceURL": { "type": "string" }, "spsAPIKey": { "type": "string" }, "spsAPISecret": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "spsAccountId": { "type": "string" }, "spsAccountPassword": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "spsCollectingStrategy": { "type": "string", "enum": ["EXAM", "APPLY_SEB_GROUPS"] }, "spsCollectingGroupName": { "type": "string", "maxLength": 255, "minLength": 3 }, "spsCollectingGroupSize": { "type": "integer", "format": "int32" }, "spsSEBGroupsSelection": { "type": "string" }, "bundled": { "type": "boolean" }, "changeStrategyConfirm": { "type": "boolean" } } }, "ProctoringServiceSettings": { "type": "object", "properties": { "id": { "type": "integer" }, "enableProctoring": { "type": "boolean" }, "serverType": { "type": "string", "enum": ["JITSI_MEET", "ZOOM"] }, "serverURL": { "type": "string" }, "collectingRoomSize": { "type": "integer", "format": "int32" }, "enabledFeatures": { "type": "array", "items": { "type": "string", "enum": [ "TOWN_HALL", "ONE_TO_ONE", "BROADCAST", "ENABLE_CHAT" ] } }, "serviceInUse": { "type": "boolean" }, "appKey": { "type": "string" }, "appSecret": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "accountId": { "type": "string" }, "clientId": { "type": "string" }, "clientSecret": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "sdkKey": { "type": "string" }, "sdkSecret": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "useZoomAppClientForCollectingRoom": { "type": "boolean" } } }, "Value": { "type": "object", "properties": { "id": { "type": "integer" }, "value": { "type": "string" } } }, "TableRowValues": { "type": "object", "properties": { "name": { "type": "string" }, "listIndex": { "type": "integer", "format": "int32" }, "rowValues": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Value" } } } }, "CertificateInfo": { "type": "object", "properties": { "alias": { "type": "string" }, "validityFrom": { "type": "string", "format": "date-time" }, "validityTo": { "type": "string", "format": "date-time" }, "certType": { "type": "array", "items": { "type": "string", "enum": [ "UNKNOWN", "DIGITAL_SIGNATURE", "DATA_ENCIPHERMENT", "DATA_ENCIPHERMENT_PRIVATE_KEY", "KEY_CERT_SIGN" ] } } } }, "TemplateAttribute": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "configurationNodeId": { "type": "integer" }, "configAttribute": { "$ref": "#/components/schemas/ConfigurationAttribute" }, "orientation": { "$ref": "#/components/schemas/Orientation" } }, "required": [ "configAttribute", "configurationNodeId", "institutionId" ] }, "Endpoint": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "location": { "type": "string" }, "authorization": { "type": "string" } } }, "ExamAPIDiscovery": { "type": "object", "properties": { "title": { "type": "string" }, "description": { "type": "string" }, "server-location": { "type": "string" }, "api-versions": { "type": "array", "items": { "$ref": "#/components/schemas/ExamAPIVersion" } } } }, "ExamAPIVersion": { "type": "object", "properties": { "name": { "type": "string" }, "endpoints": { "type": "array", "items": { "$ref": "#/components/schemas/Endpoint" } } } }, "PageUserActivityLog": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/UserActivityLog" } }, "complete": { "type": "boolean" } } }, "EntityDependency": { "type": "object", "properties": { "parent": { "$ref": "#/components/schemas/EntityKey" }, "self": { "$ref": "#/components/schemas/EntityKey" }, "name": { "type": "string" }, "description": { "type": "string" } }, "required": ["parent", "self"] }, "EntityName": { "type": "object", "description": "Display name key for a SEB Server domain entity.", "properties": { "modelId": { "type": "string", "description": "Entity model identifier.", "example": "f91f9c0a-15a1-4c65-89c2-2b60310f2c12" }, "entityType": { "type": "string", "description": "SEB Server domain entity type.", "enum": [ "CONFIGURATION_ATTRIBUTE", "CONFIGURATION_VALUE", "VIEW", "ORIENTATION", "CONFIGURATION", "CONFIGURATION_NODE", "EXAM_CONFIGURATION_MAP", "EXAM", "EXAM_SEB_RESTRICTION", "EXAM_PROCTOR_DATA", "CLIENT_CONNECTION", "REMOTE_PROCTORING_ROOM", "SCREEN_PROCTORING_GROUP", "CLIENT_EVENT", "CLIENT_INSTRUCTION", "INDICATOR", "THRESHOLD", "INSTITUTION", "SEB_CLIENT_CONFIGURATION", "LMS_SETUP", "USER", "USER_ROLE", "USER_ACTIVITY_LOG", "ADDITIONAL_ATTRIBUTES", "WEBSERVICE_SERVER_INFO", "CERTIFICATE", "EXAM_TEMPLATE", "BATCH_ACTION", "CLIENT_INDICATOR", "CLIENT_NOTIFICATION", "CLIENT_GROUP", "SEB_SECURITY_KEY_REGISTRY", "ENTITY_PRIVILEGE", "FEATURE_PRIVILEGE", "SCHEDULED_DELETE", "SCHEDULED_DELETE_INFO", "CONFIGURATION_ATTRIBUTE_DEPRECATION" ], "example": "USER" }, "name": { "type": "string", "description": "Human-readable entity name.", "example": "Ada Lovelace" } }, "required": ["entityType", "modelId", "name"] }, "PageUserInfo": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/UserInfo" } }, "complete": { "type": "boolean" } } }, "PageClientEvent": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ClientEvent" } }, "complete": { "type": "boolean" } } }, "ExtendedClientEvent": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "examId": { "type": "integer" }, "examUserSessionId": { "type": "string" }, "id": { "type": "integer" }, "clientConnectionId": { "type": "integer" }, "type": { "type": "string", "enum": [ "UNKNOWN", "DEBUG_LOG", "INFO_LOG", "WARN_LOG", "ERROR_LOG", "NOTIFICATION", "NOTIFICATION_CONFIRMED" ] }, "timestamp": { "type": "integer" }, "serverTime": { "type": "integer" }, "numericValue": { "type": "number", "format": "double" }, "text": { "type": "string" }, "value": { "type": "number", "format": "double" } } }, "PageExtendedClientEvent": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ExtendedClientEvent" } }, "complete": { "type": "boolean" } } }, "PageClientConnection": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ClientConnection" } }, "complete": { "type": "boolean" } } }, "ClientConnectionData": { "type": "object", "properties": { "miss": { "type": "boolean" }, "pnot": { "type": "boolean" }, "cdat": { "$ref": "#/components/schemas/ClientConnection" }, "iVal": { "type": "array", "items": { "$ref": "#/components/schemas/IndicatorValue" } }, "cg": { "type": "array", "items": { "type": "integer" }, "uniqueItems": true } } }, "IndicatorValue": { "type": "object", "properties": { "id": { "type": "integer" }, "val": { "type": "number", "format": "double" } } }, "PageClientConnectionData": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ClientConnectionData" } }, "complete": { "type": "boolean" } } }, "PageScheduledDelete": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ScheduledDelete" } }, "complete": { "type": "boolean" } } }, "ScheduledDelete": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "spsId": { "type": "integer" }, "state": { "type": "string", "enum": [ "PENDING", "SPS_RUNNING", "RUNNING", "FINISHED" ] }, "deleteDueTime": { "type": "integer" }, "scheduleTime": { "type": "integer" }, "startTime": { "type": "integer" }, "endTime": { "type": "integer" }, "owner": { "type": "string" }, "institutionId": { "type": "integer" }, "info": { "type": "array", "items": { "$ref": "#/components/schemas/ScheduledDeleteInfo" } } } }, "ScheduledDeleteInfo": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "scheduledDeleteId": { "type": "integer" }, "state": { "type": "string", "enum": ["PENDING", "RUNNING", "DELETED", "ERROR"] }, "examUuid": { "type": "string" }, "deletionInfo": { "type": "object", "additionalProperties": { "type": "string" } }, "errorInfo": { "type": "string" }, "errorType": { "type": "string", "enum": [ "UNDEFINED", "SERVER_ERROR", "DATABASE_CONSTRAINT_ERROR", "DATA_INCONSISTENCY_ERROR", "EXCLUDED_FROM_DELETION" ] } } }, "PageQuizData": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/QuizData" } }, "complete": { "type": "boolean" } } }, "QuizData": { "type": "object", "properties": { "quiz_id": { "type": "string" }, "institutionId": { "type": "integer" }, "lms_setup_id": { "type": "integer" }, "lms_setup_type": { "type": "string", "enum": [ "MOCKUP", "OPEN_EDX", "MOODLE", "MOODLE_PLUGIN", "ANS_DELFT", "OPEN_OLAT" ] }, "quiz_name": { "type": "string" }, "quiz_description": { "type": "string" }, "quiz_start_time": { "type": "string", "format": "date-time" }, "quiz_end_time": { "type": "string", "format": "date-time" }, "quiz_start_url": { "type": "string" }, "additionalAttributes": { "type": "object", "additionalProperties": { "type": "string" } } } }, "PageOrientation": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/Orientation" } }, "complete": { "type": "boolean" } } }, "PageView": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/View" } }, "complete": { "type": "boolean" } } }, "PageExam": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/Exam" } }, "complete": { "type": "boolean" } } }, "ClientNotification": { "type": "object", "properties": { "id": { "type": "integer" }, "clientConnectionId": { "type": "integer" }, "type": { "type": "string", "enum": [ "UNKNOWN", "DEBUG_LOG", "INFO_LOG", "WARN_LOG", "ERROR_LOG", "NOTIFICATION", "NOTIFICATION_CONFIRMED" ] }, "timestamp": { "type": "integer" }, "serverTime": { "type": "integer" }, "numericValue": { "type": "number", "format": "double" }, "text": { "type": "string" }, "notificationType": { "type": "string", "enum": ["UNKNOWN", "LOCK_SCREEN", "RAISE_HAND"] }, "value": { "type": "number", "format": "double" } } }, "ClientMonitoringDataView": { "type": "object", "properties": { "pendingNotification": { "type": "boolean" }, "missingPing": { "type": "boolean" }, "grantChecked": { "type": "boolean" }, "grantDenied": { "type": "boolean" }, "sebversionDenied": { "type": "boolean" }, "st": { "type": "string", "enum": [ "UNDEFINED", "CONNECTION_REQUESTED", "READY", "ACTIVE", "CLOSED", "DISABLED" ] }, "iv": { "type": "object", "additionalProperties": { "type": "string" } }, "lat": { "type": "integer" }, "nf": { "type": "integer", "format": "int32" }, "id": { "type": "integer" } } }, "MonitoringFullPageData": { "type": "object", "properties": { "examId": { "type": "integer" }, "monitoringConnectionData": { "$ref": "#/components/schemas/MonitoringSEBConnectionData" }, "screenProctoringData": { "type": "array", "items": { "$ref": "#/components/schemas/ProctoringGroupMonitoringData" } } } }, "MonitoringSEBConnectionData": { "type": "object", "properties": { "cons": { "type": "array", "items": { "$ref": "#/components/schemas/ClientMonitoringDataView" } }, "sm": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "im": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "cgm": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32" } } } }, "ProctoringGroupMonitoringData": { "type": "object", "properties": { "uuid": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "integer", "format": "int32" } } }, "RemoteProctoringRoom": { "type": "object", "properties": { "id": { "type": "integer" }, "examId": { "type": "integer" }, "name": { "type": "string" }, "size": { "type": "integer", "format": "int32" }, "subject": { "type": "string" }, "townhallRoom": { "type": "boolean" }, "breakOutConnections": { "type": "array", "items": { "type": "string" } }, "joinKey": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "roomData": { "type": "string" }, "isOpen": { "type": "boolean" } } }, "ScreenProctoringGroup": { "type": "object", "properties": { "id": { "type": "integer" }, "examId": { "type": "integer" }, "uuid": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "integer", "format": "int32" }, "data": { "type": "string" }, "isFallback": { "type": "boolean" }, "sebGroupId": { "type": "integer" }, "fallback": { "type": "boolean" } } }, "ClientStatesData": { "type": "object", "properties": { "total": { "type": "integer", "format": "int32" }, "CONNECTION_REQUESTED": { "type": "integer", "format": "int32" }, "READY": { "type": "integer", "format": "int32" }, "ACTIVE": { "type": "integer", "format": "int32" }, "CLOSED": { "type": "integer", "format": "int32" }, "DISABLED": { "type": "integer", "format": "int32" }, "MISSING": { "type": "integer", "format": "int32" } } }, "ExamMonitoringOverviewData": { "type": "object", "properties": { "clientStates": { "$ref": "#/components/schemas/ClientStatesData" }, "clientGroups": { "type": "array", "items": { "$ref": "#/components/schemas/ClientGroup" } }, "indicators": { "$ref": "#/components/schemas/Indicators" }, "notifications": { "$ref": "#/components/schemas/NotificationData" } } }, "IndicatorData": { "type": "object", "properties": { "color": { "type": "string" }, "incident": { "type": "integer", "format": "int32" }, "warning": { "type": "integer", "format": "int32" } } }, "Indicators": { "type": "object", "properties": { "WLAN_STATUS": { "$ref": "#/components/schemas/IndicatorData" }, "BATTERY_STATUS": { "$ref": "#/components/schemas/IndicatorData" } } }, "NotificationData": { "type": "object", "properties": { "total": { "type": "integer", "format": "int32" }, "LOCK_SCREEN": { "type": "integer", "format": "int32" }, "RAISE_HAND": { "type": "integer", "format": "int32" } } }, "PageLmsSetup": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/LmsSetup" } }, "complete": { "type": "boolean" } } }, "PageInstitution": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/Institution" } }, "complete": { "type": "boolean" } } }, "Privilege": { "type": "object", "properties": { "roleTypeKey": { "$ref": "#/components/schemas/RoleTypeKey" }, "basePrivilege": { "type": "string", "enum": ["NONE", "ASSIGNED", "READ", "MODIFY", "WRITE"] }, "institutionalPrivilege": { "type": "string", "enum": ["NONE", "ASSIGNED", "READ", "MODIFY", "WRITE"] }, "ownershipPrivilege": { "type": "string", "enum": ["NONE", "ASSIGNED", "READ", "MODIFY", "WRITE"] } } }, "RoleTypeKey": { "type": "object", "properties": { "entityType": { "type": "string", "enum": [ "CONFIGURATION_ATTRIBUTE", "CONFIGURATION_VALUE", "VIEW", "ORIENTATION", "CONFIGURATION", "CONFIGURATION_NODE", "EXAM_CONFIGURATION_MAP", "EXAM", "EXAM_SEB_RESTRICTION", "EXAM_PROCTOR_DATA", "CLIENT_CONNECTION", "REMOTE_PROCTORING_ROOM", "SCREEN_PROCTORING_GROUP", "CLIENT_EVENT", "CLIENT_INSTRUCTION", "INDICATOR", "THRESHOLD", "INSTITUTION", "SEB_CLIENT_CONFIGURATION", "LMS_SETUP", "USER", "USER_ROLE", "USER_ACTIVITY_LOG", "ADDITIONAL_ATTRIBUTES", "WEBSERVICE_SERVER_INFO", "CERTIFICATE", "EXAM_TEMPLATE", "BATCH_ACTION", "CLIENT_INDICATOR", "CLIENT_NOTIFICATION", "CLIENT_GROUP", "SEB_SECURITY_KEY_REGISTRY", "ENTITY_PRIVILEGE", "FEATURE_PRIVILEGE", "SCHEDULED_DELETE", "SCHEDULED_DELETE_INFO", "CONFIGURATION_ATTRIBUTE_DEPRECATION" ] }, "userRole": { "type": "string", "enum": [ "SEB_SERVER_ADMIN", "INSTITUTIONAL_ADMIN", "EXAM_ADMIN", "EXAM_SUPPORTER", "TEACHER" ] } } }, "PageIndicator": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/Indicator" } }, "complete": { "type": "boolean" } } }, "AppSignatureKeyInfo": { "type": "object", "properties": { "institutionId": { "type": "integer" }, "examId": { "type": "integer" }, "keyValue": { "type": "string" }, "connectionIds": { "type": "object", "additionalProperties": { "type": "string" } } }, "required": ["examId", "institutionId"] }, "Chapter": { "type": "object", "properties": { "name": { "type": "string" }, "id": { "type": "string" } } }, "Chapters": { "type": "object", "properties": { "chapters": { "type": "array", "items": { "$ref": "#/components/schemas/Chapter" } }, "chapter_list": { "type": "array", "items": { "$ref": "#/components/schemas/Chapter" } } } }, "SEBSettingsView": { "type": "object", "properties": { "viewType": { "type": "string", "enum": [ "GENERAL", "USER_INTERFACE", "BROWSER", "DOWN_UPLOAD", "EXAM", "APPLICATION", "RESOURCES", "NETWORK", "SECURITY", "REGISTRY", "HOOKED_KEYS", "PROCTORING" ] }, "configurationNodeId": { "type": "integer" }, "configurationId": { "type": "integer" }, "attributes": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/ConfigurationAttribute" } }, "singleValues": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Value" } }, "tableValues": { "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/TableRowValues" } } } } }, "PageExamTemplate": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ExamTemplate" } }, "complete": { "type": "boolean" } } }, "PageIndicatorTemplate": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/IndicatorTemplate" } }, "complete": { "type": "boolean" } } }, "PageClientGroupTemplate": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ClientGroupTemplate" } }, "complete": { "type": "boolean" } } }, "PageExamConfigurationMap": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ExamConfigurationMap" } }, "complete": { "type": "boolean" } } }, "PageConfigurationValue": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ConfigurationValue" } }, "complete": { "type": "boolean" } } }, "PageConfigurationAttribute": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ConfigurationAttribute" } }, "complete": { "type": "boolean" } } }, "PageConfiguration": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/Configuration" } }, "complete": { "type": "boolean" } } }, "PageConfigurationNode": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ConfigurationNode" } }, "complete": { "type": "boolean" } } }, "PageTemplateAttribute": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/TemplateAttribute" } }, "complete": { "type": "boolean" } } }, "SettingsPublished": { "type": "object", "properties": { "settingsPublished": { "type": "boolean" } }, "required": ["settingsPublished"] }, "ConfigKey": { "type": "object", "properties": { "key": { "type": "string" } } }, "PageSEBClientConfig": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/SEBClientConfig" } }, "complete": { "type": "boolean" } } }, "ClientCredentials": { "type": "object", "properties": { "clientId": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "secret": { "type": "object", "properties": { "empty": { "type": "boolean" } } }, "accessToken": { "type": "object", "properties": { "empty": { "type": "boolean" } } } } }, "PageClientGroup": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/ClientGroup" } }, "complete": { "type": "boolean" } } }, "PageCertificateInfo": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/CertificateInfo" } }, "complete": { "type": "boolean" } } }, "PageBatchAction": { "type": "object", "properties": { "number_of_pages": { "type": "integer", "format": "int32", "description": "The number of available pages for the specified page size." }, "page_number": { "type": "integer", "format": "int32", "description": "The actual page number. Starting with 1.", "maximum": 2147483647, "minimum": 1 }, "page_size": { "type": "integer", "format": "int32", "description": "The the actual size of a page", "maximum": 2147483647, "minimum": 1 }, "sort": { "type": "string", "description": "The page sort column name" }, "content": { "type": "array", "description": "The actual content objects of the page. Might be empty.", "items": { "$ref": "#/components/schemas/BatchAction" } }, "complete": { "type": "boolean" } } }, "ErrorCode": { "type": "string", "description": "Catalogue of stable SEB Server APIMessage codes (the possible APIMessage.messageCode values).", "enum": [ "0", "1", "1000", "1001", "1002", "1010", "1100", "1101", "1200", "1300", "1301", "1302", "1400", "1401", "1402", "1403", "1404", "1405", "1500", "1600", "1601", "1602", "1603", "1604", "1605", "1610", "1611", "1700", "1800" ], "x-enum-varnames": [ "GENERIC", "BAD_REQUEST", "UNAUTHORIZED", "FORBIDDEN", "RESOURCE_NOT_FOUND", "ILLEGAL_API_ARGUMENT", "UNEXPECTED", "INTEGRITY_VALIDATION", "FIELD_VALIDATION", "PASSWORD_MISMATCH", "MISSING_PASSWORD", "LMS_WARNINGS", "EXAM_CONSISTENCY_VALIDATION_SUPPORTER", "EXAM_CONSISTENCY_VALIDATION_CONFIG", "EXAM_CONSISTENCY_VALIDATION_SEB_RESTRICTION", "EXAM_CONSISTENCY_VALIDATION_INDICATOR", "EXAM_CONSISTENCY_VALIDATION_LMS_CONNECTION", "EXAM_CONSISTENCY_VALIDATION_INVALID_ID_REFERENCE", "EXTERNAL_SERVICE_BINDING_ERROR", "EXAM_IMPORT_ERROR_AUTO_SETUP", "EXAM_IMPORT_ERROR_AUTO_INDICATOR", "EXAM_IMPORT_ERROR_AUTO_ATTRIBUTES", "EXAM_IMPORT_ERROR_AUTO_RESTRICTION", "EXAM_IMPORT_ERROR_AUTO_CLIENT_GROUPS", "EXAM_IMPORT_ERROR_SPS_ENABLED", "EXAM_IMPORT_ERROR_AUTO_CONFIG", "EXAM_IMPORT_ERROR_AUTO_CONFIG_LINKING", "CLIENT_CONNECTION_INTEGRITY_VIOLATION", "NEED_CONFIRMATION" ], "x-enum-descriptions": [ "Generic error message", "Bad Request", "UNAUTHORIZED", "FORBIDDEN", "resource not found", "Illegal API request argument", "Unexpected internal server-side error", "Action would lied to an integrity violation", "Field validation error", "new password do not match confirmed password", "Missing Password", "Warnings from LMS", "No Exam Supporter defined for the Exam", "No SEB Exam Configuration defined for the Exam", "SEB restriction API available but Exam not restricted on LMS side yet", "No Indicator defined for the Exam", "No Connection To LMS", "There seems to be an invalid exam - course identifier reference. The course cannot be found", "External binding error", "Exam successfully imported but some additional initialization failed", "Failed to automatically create pre-defined indicator(s) for the exam", "Failed to automatically create pre-defined attributes for the exam", "Failed to automatically apply SEB restriction for the exam to the involved LMS", "Failed to automatically create pre-defined client group(s) for the exam", "Failed to automatically apply SPS enabled setting to Exam Configuration", "Failed to automatically create and link exam configuration from the exam template to the exam", "Failed to automatically link auto-generated exam configuration to the exam", "SEB client connection is not in valid state to apply requested operation", "Some additional user confirmation needed" ] } }, "responses": { "Error400BadRequest": { "description": "Bad request, e.g. field validation or an illegal argument. The body is usually a list of APIMessage, but may be absent for some illegal-argument cases.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/APIMessage" } } } } }, "Error401Unauthorized": { "description": "Unauthorized. Body is an APIMessage or a list of APIMessage.", "content": { "application/json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/APIMessage" }, { "type": "array", "items": { "$ref": "#/components/schemas/APIMessage" } } ] } } } }, "Error403Forbidden": { "description": "Forbidden. Body is a list of APIMessage.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/APIMessage" } } } } }, "Error404NotFound": { "description": "Resource not found. Body is a list of APIMessage.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/APIMessage" } } } } }, "Error429TooManyRequests": { "description": "Too many requests (rate limit). Body is the rate-limit code as plain text.", "content": { "text/plain": { "schema": { "type": "string" } } } }, "Error500InternalServerError": { "description": "Unexpected internal server error. Body is a list of APIMessage.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/APIMessage" } } } } } }, "securitySchemes": { "oauth": { "type": "oauth2", "in": "header", "scheme": "bearer", "bearerFormat": "jwt", "flows": { "password": { "tokenUrl": "/oauth/token" } } }, "SEBOAuth": { "type": "oauth2", "in": "header", "scheme": "basic", "flows": { "clientCredentials": { "tokenUrl": "/oauth/token", "scopes": { "read": "read", "write": "write" } } } } } } }