Skip to content

INJECT GraphQL API Scheme

Query

Field Argument Type Description
emailTemplateSuggestion EmailTemplateSuggestionType!
threadId ID!
participantId ID
freeFormAssessment String!
questionnaireSubmissionId ID!
questionId ID!
emailAssessment String!
actionLogId ID!
assessmentId ID!
platformConfig PlatformConfigType!
whoAmI TUserType
users [IUserType!]!
filterUsersInput FilterUsersInput
user IUserType!
userId UUID!
tags [TagType!]!
domains [DomainRestrictionType!]!
team TeamType!
teamId ID!
teamTools [ToolInterface!]!
teamId ID!
actionLog ActionLogInterface!
logId ID!
teamActionLogs [ActionLogInterface!]!
logFilter ActionLogsFilterInput!
teamMilestone MilestoneStateType!
milestoneStateId ID!
teamMilestones [MilestoneStateType!]!
teamIds [ID!]!
exerciseId ID
emailContacts [EmailParticipantType!]!
exerciseId ID!
visibleOnly Boolean
emailContact EmailParticipantType!
participantId ID!
emailThreads [EmailThreadType!]!
teamIds [ID!]!
emailThread EmailThreadType!
threadId ID!
emailAddresses [String!]!
threadId ID!
validateEmailAddress Boolean!
exerciseId ID!
address String!
teamEmailParticipant EmailParticipantType!
teamId ID!
emailTemplates [EmailTemplateType!]!
exerciseId ID!
emailAddresses [String]!
threadTemplates [EmailTemplateType!]!
threadId ID!
threadTemplate EmailTemplateType!
templateId ID!
exerciseTimeLeft Int!
teamId ID!
readValue String
exerciseId ID!
key String!
exerciseValues [KeyValueType!]
exerciseId ID!
exerciseTools [ToolInterface!]!
exerciseId ID!
questionnaireState TeamQuestionnaireStateInterface!
teamId ID!
questionnaireId ID!
teamQuestionnaires [TeamQuestionnaireStateInterface!]!
teamIds [ID!]!
teamLearningObjectives [TeamLearningObjectiveInterface!]!
teamIds [ID!]!
teamInstructorComments [InstructorCommentType!]
teamId ID!
exerciseInstructorComments [InstructorCommentType!]
teamIds [ID!]!
exerciseDrive [FileInfoType!]
exerciseId ID!
achievedMilestonesClustering ClusteringType
teamIds [ID!]!
clusteringParams ClusteringParamsInput!
recalculate Boolean
milestoneSequenceClustering ClusteringType
teamIds [ID!]!
clusteringParams ClusteringParamsInput!
recalculate Boolean
exercises [ExerciseType!]!
running Boolean
finished Boolean
limit Int
skip Int
exerciseId ExerciseType!
exerciseId ID!
definitions [DefinitionType!]!
definition DefinitionType!
definitionId ID!
injects [IInjectType!]!
exerciseId ID!
milestones [MilestoneType!]!
exerciseId ID!
fileInfo FileInfoType!
fileInfoId UUID!
teamUploadedFiles [FileInfoType!]!
teamId ID!
channel ChannelInterface!
channelId ID!
exerciseChannels [ChannelInterface!]!
exerciseId ID!
learningObjectives [ILearningObjectiveType!]!
exerciseId ID!
questionnaires [QuestionnaireType!]!
exerciseId ID!
noticeboardMessages [NoticeboardMessageType!]!
includeExpired Boolean
userTeamToken String
teamId ID!
exerciseTokens [TeamToken!]!
exerciseId ID!

Mutation

Field Argument Type Description
updatePlatformConfig UpdatePlatformConfigMutation
platformConfigInput PlatformConfigInput!
assignUsersToTeam AssignUsersToTeamMutation
teamId ID!
userIds [ID!]!
removeUsersFromTeam RemoveUsersFromTeamMutation
teamId ID!
userIds [ID!]!
assignInstructorsToExercise AssignInstructorsToExercise
exerciseId ID!
userIds [ID!]!
removeInstructorsFromExercise RemoveInstructorsFromExerciseMutation
exerciseId ID!
userIds [ID!]!
addDefinitionAccess AddDefinitionAccessMutation
definitionId ID!
userIds [ID!]!
removeDefinitionAccess RemoveDefinitionAccessMutation
definitionId ID!
userIds [ID!]!
changeUserData ChangeUserDataMutation
changeUserInput ChangeUserInput!
regenerateCredentials RegenerateCredentialsMutation
userIds [ID!]!
deleteUsers DeleteUsersMutation
userIds [ID!]!
assignUsersEqually AssignUsersEqually
exerciseId ID!
userIds [ID!]!
copyUsersAssignment CopyUsersAssignment
fromExerciseId ID!
toExerciseId ID!
assignUsersByTags AssignUsersByTags
exerciseId ID!
tagPrefix String!
userIds [ID!]!
createUser CreateUserMutation
createUserInput CreateUserInput!
createTag CreateTagMutation
name String!
updateTag UpdateTagMutation
newName String!
tagId ID!
deleteTags DeleteTagsMutation
force Boolean
tagIds [ID!]!
updateTagAssignments UpdateTagAssignmentsMutation
updateTagAssignmentsInput UpdateTagAssignmentsInput!
createDomainRestriction CreateDomainRestriction
domainName String!
deleteDomainRestriction DeleteDomainRestriction
domainId ID!
generateGuests GenerateGuestsMutation
count Int!
expiration DateTime!
createBot CreateBotMutation
createBotInput CreateBotInput!
rotateApiKey RotateAPIKeyMutation
userId ID!
useTool UseToolMutation
useToolInput UseToolInput!
confirmAction ConfirmActionMutation
logId ID!
teamId ID!
moveTime MoveExerciseTimeMutation
exerciseId ID!
timeDiff Int!
startExercise StartExerciseMutation
exerciseId ID!
startOnDemandExercise StartOnDemandExerciseMutation
teamId ID!
stopExercise StopExerciseMutation
exerciseId ID!
stopOnDemandExercise StopOnDemandExerciseMutation
teamId ID!
finishExercise FinishExerciseMutation
exerciseId ID!
finishOnDemandExercise FinishOnDemandExerciseMutation
teamId ID!
createThread CreateThreadMutation
exerciseId ID!
participantAddresses [String]!
subject String!
sendEmail SendEmailMutation
sendEmailInput SendEmailInput!
modifyMilestone ModifyMilestoneMutation
activate Boolean
milestone String!
teamId ID!
answerQuestionnaire AnswerQuestionnaireMutation
questInput QuestionnaireInput!
reviewQuestionnaire ReviewQuestionnaireMutation
reviewInput QuestionnaireReviewInput!
sendCustomInject SendCustomInjectMutation
customInjectInput CustomInjectInput!
writeValue WriteValueMutation
exerciseId ID!
key String!
value String!
clearValue ClearValueMutation
exerciseId ID!
key String!
addInstructorComment AddInstructorCommentMutation
instructorCommentInput InstructorCommentInput!
editInstructorComment EditInstructorCommentMutation
editCommentInput EditInstructorCommentInput!
deleteInstructorComment DeleteInstructorCommentMutation
commentId ID!
exerciseId ID!
enablePostExerciseOverview EnablePostExerciseOverviewMutation
enable Boolean!
teamIds [ID!]!
createExercise CreateExerciseMutation
createExerciseInput CreateExerciseInput!
enterExercise EnterExerciseMutation
exerciseId ID!
deleteExercise DeleteExerciseMutation
exerciseId ID!
deleteDefinition DeleteDefinitionMutation
definitionId ID!
changeAllowedStartInterval ChangeAllowedStartIntervalMutation
allowedStartInterval TimeIntervalInput!
exerciseId ID!
exerciseStateIds [ID!]!
createNoticeboardMessage CreateNoticeboardMessageMutation
content String!
expiration DateTime!
editNoticeboardMessage EditNoticeboardMessageMutation
messageId ID!
newContent String
newExpiration DateTime
deleteNoticeboardMessages DeleteNoticeboardMessagesMutation
messageIds [ID!]!
deleteExpiredNoticeboardMessages DeleteExpiredNoticeboardMessagesMutation

Subscription

Field Argument Type Description
actionLogs ActionLogsSubscription
teamIds [ID!]!
typeBlacklist [LogType!]
exerciseState ExerciseStateSubscription
teamIds [ID!]!
instructorComments InstructorCommentsSubscription
teamIds [ID!]!
kvStore KVStoreSubscription
exerciseId ID!
exercisesSubscription ExercisesSubscription
noticeboardSubscription NoticeboardSubscription

Objects

ActionLogsFilterType

Field Argument Type Description
exerciseId ID
channelId ID
teamIds [ID!]!
typeBlacklist [LogType!]
newestFirst Boolean
requiresAttention Boolean
teamLimit Int

ActionLogsSubscription

Field Argument Type Description
actionLogs [ActionLogInterface!]!

AddDefinitionAccessMutation

Field Argument Type Description
operationDone Boolean!

AddInstructorCommentMutation

Field Argument Type Description
actionLog ActionLogInterface!

AnswerQuestionnaireMutation

Field Argument Type Description
updatedState TeamQuestionnaireStateInterface!
actionLog ActionLogInterface!

AnswerType

Field Argument Type Description
questionId ID!
value [String!]!

AssignInstructorsToExercise

Field Argument Type Description
result AssignmentResultType!

AssignUsersByTags

Field Argument Type Description
result AssignmentResultType!

AssignUsersEqually

Field Argument Type Description
result AssignmentResultType!

AssignUsersToTeamMutation

Field Argument Type Description
result AssignmentResultType!

AssignmentResultType

Field Argument Type Description
assignedUserIds [ID!]!
unaffectedUserIds [ID!]!

AutoFreeFormQuestionDetailsType

Field Argument Type Description
id ID!
correctAnswer String
regex Boolean
multiline Boolean!
correct ControlType
incorrect ControlType
min Int!
max Int!
definition ExerciseDefinitionType!

ChangeAllowedStartIntervalMutation

Field Argument Type Description
exercise ExerciseType!

ChangeUserDataMutation

Field Argument Type Description
user IUserType!

ChangeUserType

Field Argument Type Description
userId UUID!
group AuthGroup
active Boolean

ClearValueMutation

Field Argument Type Description
operationDone Boolean!

ClusteredTeamType

Field Argument Type Description
team TeamType!
cluster Int!
x Float!
y Float!

ClusteringType

Field Argument Type Description
teams [ClusteredTeamType!]!

ConfigOverrideType

Field Argument Type Description
exerciseDuration Int
customEmailSuffix String
emailBetweenTeams Boolean
showExerciseTime Boolean
showExerciseOverview Boolean
customTeamNames [String!]
updateIntervalS Int

ConfigType

Field Argument Type Description
id ID!
exerciseDuration Int!
customEmailSuffix String!
updateIntervalS Int!
definition ExerciseDefinitionType
enabledFeatures [Feature!]!
instructorNotes ContentType
notes ContentType
allowedFileTypes [String!]!
exercises [RestrictedExercise!]!

ConfirmActionMutation

Field Argument Type Description
actionLog ActionLogInterface!

ConfirmationType

Field Argument Type Description
id ID!
text String!
control ControlType!

ContentType

Field Argument Type Description
id ID!
raw String!
rendered String!
attachments [FileInfoType!]!

ControlType

Field Argument Type Description
id ID!
milestoneCondition String!
dnfClauses [JSONString!]!
activateMilestone [String!]!
deactivateMilestone [String!]!
roles [String!]!

ControlsMapType

Field Argument Type Description
choice Int!
control ControlType!

CopyUsersAssignment

Field Argument Type Description
result AssignmentResultType!

CreateBotMutation

Field Argument Type Description
botUser IUserType!
apiToken String!

CreateDomainRestriction

Field Argument Type Description
newDomain DomainRestrictionType!

CreateExerciseMutation

Field Argument Type Description
exercise ExerciseType!

CreateExerciseType

Field Argument Type Description
definitionId ID!
teamCount Int!
name String
onDemand Boolean
sandbox Boolean
llm Boolean
configOverride ConfigOverrideType
allowedStartInterval TimeIntervalType

CreateExercisesType

Field Argument Type Description
exercise ExerciseType!

CreateInstructorCommentType

Field Argument Type Description
log ActionLogInterface!

CreateNoticeboardMessageMutation

Field Argument Type Description
message NoticeboardMessageType

CreateNoticeboardType

Field Argument Type Description
message NoticeboardMessageType!

CreateTagMutation

Field Argument Type Description
newTag TagType!

CreateThreadMutation

Field Argument Type Description
thread EmailThreadType!

CreateUserMutation

Field Argument Type Description
newUser IUserType!

CreateUserType

Field Argument Type Description
email String!
firstName String
lastName String
group AuthGroup
tags [String!]!

CustomInjectType

Field Argument Type Description
exerciseId ID!
teamIds [ID]!
content String!
fileIds [UUID!]
channelId ID!
overlay OverlayType

DefinitionRoleType

Field Argument Type Description
id ID!
name String!
displayName String!
description String!
definition DefinitionType!

DefinitionType

Field Argument Type Description
id ID!
name String!
exerciseType String!
description String!
targetAudience String!
prerequisites [String!]!
version String!
goals [String!]!
externalResources [String!]!
authors [String!]!
license String!
language String!
instructorRequired Boolean!
timestampCreated DateTime!
maintainers [IUserType!]!
uploadedBy IUserType
files [FileInfoType!]!
config ConfigType!
learningObjectives [ILearningObjectiveType!]!
addresses [EmailAddressType!]!
injects [IInjectType!]!
tools [IToolType!]!
roles [DefinitionRoleType!]!
channels [IChannelType!]!
questionnaires [QuestionnaireType!]!
exercises [ExerciseType!]!
drive [FileInfoType!]!

DeleteDefinitionMutation

Field Argument Type Description
operationDone Boolean!
definitionId ID!
exerciseIds [ID!]!
teamIds [ID!]!

DeleteDomainRestriction

Field Argument Type Description
operationDone Boolean!
domainRestrictionId ID!

DeleteExerciseMutation

Field Argument Type Description
operationDone Boolean!
exerciseId ID!
teamIds [ID!]!

DeleteExercisesType

Field Argument Type Description
exerciseId ID!

DeleteExpiredNoticeboardMessagesMutation

Field Argument Type Description
deletedMessageIds [ID!]!

DeleteInstructorCommentMutation

Field Argument Type Description
actionLog ActionLogInterface!

DeleteInstructorCommentType

Field Argument Type Description
logId ID!

DeleteNoticeboardMessagesMutation

Field Argument Type Description
deletedMessageIds [ID!]!

DeleteNoticeboardType

Field Argument Type Description
messageId ID!

DeleteTagsMutation

Field Argument Type Description
operationDone Boolean!
tagIds [ID!]!

DeleteUsersMutation

Field Argument Type Description
operationDone Boolean!
userIds [ID!]!

DomainRestrictionType

Field Argument Type Description
id ID!
domain String!
addedBy IUserType
addedAt DateTime!

EditInstructorCommentMutation

Field Argument Type Description
actionLog ActionLogInterface!

EditInstructorCommentType

Field Argument Type Description
exerciseId ID!
commentId ID!
comment String
score Int

EditNoticeboardMessageMutation

Field Argument Type Description
message NoticeboardMessageType

EmailAddressType

Field Argument Type Description
id ID!
address String!
description String!
control ControlType!
teamVisible Boolean!
organization String!
signed Boolean!
definition ExerciseDefinitionType!
activity ILearningActivityType
llmAssessment LLMAssessmentType
templates [EmailTemplateType!]!

EmailParticipantType

Field Argument Type Description
id ID!
exercise ExerciseType!
definitionAddress EmailAddressType
address String!
team TeamType
threads [EmailThreadType!]!
emails [EmailInterface!]!

EmailTemplateSuggestionType

Field Argument Type Description
templateId ID
newSuggestion String
accuracy Int
participantId ID!
reasoning String!

EmailTemplateType

Field Argument Type Description
id ID!
context String!
subject String!
content ContentType!
control ControlType!
sender String!

EmailThreadType

Field Argument Type Description
id ID!
subject String!
participants [EmailParticipantType!]!
timestamp DateTime!
exercise ExerciseType!
emails [ActionLogInterface!]!
lastEmail ActionLogInterface

EnablePostExerciseOverviewMutation

Field Argument Type Description
teams [TeamType!]!

EnterExerciseMutation

Field Argument Type Description
operationDone Boolean!

ExerciseDefinitionType

Field Argument Type Description
id ID!
name String!
description String!

ExerciseStateSubscription

Field Argument Type Description
state ExerciseStateType!

ExerciseStateType

Field Argument Type Description
id ID!
elapsedS Int!
startTime DateTime
finishTime DateTime
status ExerciseStateEnum!
exercise RestrictedExercise!
teams [TeamType!]!
allowedStartInterval TimeIntervalType

ExerciseType

Field Argument Type Description
id ID!
name String!
uuid UUID!
timestampCreated DateTime!
definition ExerciseDefinitionType!
config ConfigType!
createdBy UserInterface
onDemand Boolean!
sandbox Boolean!
llm Boolean!
states [ExerciseStateType!]!
teams [TeamType!]!
emailParticipants [EmailParticipantType!]!
threads [EmailThreadType!]!
instructorComments [InstructorCommentType!]!
instructors [UserInterface!]!

ExercisesSubscription

Field Argument Type Description
event ExercisesSubscriptionUnion!

FileInfoType

Field Argument Type Description
id UUID!
fileName String!
definition ExerciseDefinitionType
isDrive Boolean!
uploadedBy UserInterface
uploadedAt DateTime!
exerciseId Int

FilterUsersType

Field Argument Type Description
username String
firstName String
lastName String
active Boolean
imported Boolean
groups [AuthGroup]
tags [String]
limit Int
skip Int
isGuest Boolean
createdBy UUID

FinishExerciseMutation

Field Argument Type Description
exercise ExerciseType!

FinishOnDemandExerciseMutation

Field Argument Type Description
exercise ExerciseType!

FreeFormQuestionDetailsType

Field Argument Type Description
id ID!
relatedMilestones [MilestoneType!]!
multiline Boolean!
min Int!
max Int!
llmAssessment LLMAssessmentType
definition ExerciseDefinitionType!

GenerateGuestsMutation

Field Argument Type Description
guestAccounts [IUserType!]!

IActionLogType

Field Argument Type Description
id ID!
timestamp DateTime!
team TeamType!
channel ChannelInterface!
detailsId Int!
instructorComment InstructorCommentType
previousLogs [ActionLogInterface!]!
user UserInterface
inExerciseTime Int!
nextLogs [ActionLogInterface]!
requiresAttention Boolean!
logType LogType!
teamId ID!
details IActionLogDetails!

IChannelType

Field Argument Type Description
id ID!
displayName String!
description String!
name String!
definition ExerciseDefinitionType!
channelType InjectTypes!

IConfirmationDetailsType

Field Argument Type Description
id ID!

ICustomInjectDetailsType

Field Argument Type Description
id ID!
content ContentType!
overlay OverlayType

IEmailAddressType

Field Argument Type Description
id ID!
address String!
description String!
control ControlType!
teamVisible Boolean!
organization String!
signed Boolean!
definition ExerciseDefinitionType!
activity LearningActivityInterface!
llmAssessment LLMAssessmentType
templates [EmailTemplateType!]!

IEmailType

Field Argument Type Description
id ID!
thread EmailThreadType!
sender EmailParticipantType!
content ContentType!
timestamp DateTime!
overlay OverlayType
user UserInterface

IFileDownloadDetailsType

Field Argument Type Description
id ID!
fileInfo FileInfoType!

IInjectDetailsType

Field Argument Type Description
id ID!
inject IInjectType!
content ContentType!
overlay OverlayType
confirmation ConfirmationType

IInjectType

Field Argument Type Description
id ID!
name String!
displayName String!
organization String!
time Int!
delay Int!
type InjectTypes!
definition ExerciseDefinitionType!
target IChannelType!
activity ILearningActivityType

ILearningActivityType

Field Argument Type Description
id ID!
name String!
description String!
tags [String!]!
objective LearningObjectiveInterface!
milestones [MilestoneType!]!
addresses [EmailAddressInterface!]!
injects [InjectInterface!]!
tools [ToolInterface!]!
questionnaires [QuestionnaireType!]!

ILearningObjectiveType

Field Argument Type Description
id ID!
name String!
description String!
tags [String!]!
order Int!
definition ExerciseDefinitionType!
activities [LearningActivityInterface!]!

IMilestoneModificationDetailsType

Field Argument Type Description
id ID!
activatedMilestoneStates [MilestoneStateType!]!
deactivatedMilestoneStates [MilestoneStateType!]!
cause CauseType!

IQuestionnaireReviewDetailsType

Field Argument Type Description
id ID!

IQuestionnaireSubmissionType

Field Argument Type Description
id ID!
teamQuestionnaireState TeamQuestionnaireStateInterface!
attempt Int!
accepted Boolean!
correct CorrectnessStatus!
answers [QuestionnaireAnswerType!]!

ISandboxLogDetailsType

Field Argument Type Description
id ID!
cmd String!
cmdSource String!
workingDirectory String!
username String!
container String!

ITeamLearningActivityType

Field Argument Type Description
id ID!
teamObjective ITeamLearningObjectiveType!
totalScore Int!
activity LearningActivityInterface!
milestoneStates [MilestoneStateType!]!
reached Boolean!
achievedScore Int!

ITeamLearningObjectiveType

Field Argument Type Description
id ID!
totalScore Int!
objective LearningObjectiveInterface!
activities [TeamLearningActivityInterface!]!
reached Boolean!
achievedScore Int!
teamIds [ID!]!
teams [TeamType!]!

ITeamQuestionnaireStateType

Field Argument Type Description
id ID!
team TeamType!
questionnaire QuestionnaireType!
status Status!
timestampSent DateTime
timestampAnswered DateTime
attempts Int!
releaseTime Int!
submissions [QuestionnaireSubmissionInterface!]!
timestampReviewed DateTime
reviewedBy IUserType
acceptedAnswers [QuestionnaireAnswerType!]!
relatedMilestones [QuestionRelatedMilestonesType!]!

IToolDetailsType

Field Argument Type Description
id ID!
tool IToolType!
argument String!
content ContentType!
selectedResponse ToolResponseType

IToolType

Field Argument Type Description
id ID!
name String!
displayName String!
category String!
tooltipDescription String!
hint String!
buttonCaption String!
requiresInput Boolean!
defaultResponse ContentType!
roles [String!]!
definition ExerciseDefinitionType!
activity ILearningActivityType
responses [ToolResponseType!]!

IUserType

Field Argument Type Description
lastLogin DateTime
id ID!
username String!
firstName String
lastName String
dateJoined DateTime!
group AuthGroup!
isGuest Boolean!
isActive Boolean!
isImported Boolean!
tags [TagType!]!
expiration DateTime
plainPassword String
createdBy UserInterface
allowedEndpoints [EndpointPermissions!]!
definitions [ExerciseDefinitionType!]!
uploadedDefinitions [ExerciseDefinitionType!]!
createdExercises [RestrictedExercise!]!
exercises [RestrictedExercise!]!
teams [RestrictedTeam!]!

InstructorCommentInputType

Field Argument Type Description
exerciseId ID!
logId ID!
comment String!
score Int

InstructorCommentType

Field Argument Type Description
id ID!
comment String!
score Int!
createdBy UserInterface
createdAt DateTime!
editedBy UserInterface
editedAt DateTime
actionLog ActionLogInterface!
teamId ID!
exerciseId ID!
actionLogId ID!

InstructorCommentsSubscription

Field Argument Type Description
event InstructorCommentSubscriptionUnion!

KVStoreSubscription

Field Argument Type Description
key String!
value String

KeyValueType

Field Argument Type Description
key String!
value String!

LLMAssessmentType

Field Argument Type Description
id ID!
persona String!
assessment String!

MilestoneStateType

Field Argument Type Description
id ID!
milestone MilestoneType!
reached Boolean!
timestampReached DateTime
activity ITeamLearningActivityType
teamIds [ID!]!

MilestoneType

Field Argument Type Description
id ID!
name String!
displayName String!
description String!
tags [String!]!
fileNames [String!]!
final Boolean!
activity ILearningActivityType
initialState Boolean!
score Int!

ModifyExercisesType

Field Argument Type Description
exercise ExerciseType!

ModifyInstructorCommentType

Field Argument Type Description
log ActionLogInterface!

ModifyMilestoneMutation

Field Argument Type Description
operationDone Boolean!

ModifyNoticeboardType

Field Argument Type Description
message NoticeboardMessageType!

MoveExerciseTimeMutation

Field Argument Type Description
exercise ExerciseType!

MultipleChoiceQuestionDetailsType

Field Argument Type Description
id ID!
labels [String!]!
correct [Int!]!
controls [ControlsMapType!]!
exactMatch Boolean!
definition ExerciseDefinitionType!

NoticeboardMessageType

Field Argument Type Description
id ID!
content String!
createdAt DateTime!
editedAt DateTime
expiresAt DateTime!
createdBy TUserType

NoticeboardSubscription

Field Argument Type Description
event NoticeboardSubscriptionUnion!

OpenSearchAccessType

Field Argument Type Description
id ID!
username String!
password String!
indexName String!
team TeamType!

OverlayType

Field Argument Type Description
id ID!
duration Int!

PlatformConfigType

Field Argument Type Description
id ID!
maxTeams Int!
updateInterval Int!
llmPreLoad Boolean!

QuestionRelatedMilestonesType

Field Argument Type Description
questionId ID!
milestones [MilestoneStateType!]!

QuestionType

Field Argument Type Description
id ID!
content ContentType!
type QuestionTypes!
note String!
questionnaire QuestionnaireType!
details QuestionDetails!

QuestionnaireAnswerType

Field Argument Type Description
id ID!
question QuestionType!
submission IQuestionnaireSubmissionType!
answer [String!]!
correct CorrectnessStatus!
attempt Int!

QuestionnaireInputType

Field Argument Type Description
questionnaireId ID!
teamId ID!
answers [AnswerType!]!

QuestionnaireReviewInputType

Field Argument Type Description
questionnaireId ID!
teamId ID!
activateMilestones [String!]!
deactivateMilestones [String!]!

QuestionnaireType

Field Argument Type Description
id ID!
name String!
displayName String!
content ContentType!
time Int!
delay Int!
control ControlType!
overlay OverlayType
postExerciseSubmission Boolean!
repeatable RepeatableType
showFeedback Boolean!
definition ExerciseDefinitionType!
activity ILearningActivityType
questions [QuestionType!]!
teamQuestionnaireStates [ITeamQuestionnaireStateType!]!

RadioQuestionDetailsType

Field Argument Type Description
id ID!
max Int!
correct Int!
labels [String!]!
controls [ControlsMapType!]!
definition ExerciseDefinitionType!

RegenerateCredentialsMutation

Field Argument Type Description
operationDone Boolean!

RemoveDefinitionAccessMutation

Field Argument Type Description
operationDone Boolean!

RemoveInstructorsFromExerciseMutation

Field Argument Type Description
operationDone Boolean!

RemoveUsersFromTeamMutation

Field Argument Type Description
operationDone Boolean!

RepeatableType

Field Argument Type Description
id ID!
maxAttempts Int!
onFail ControlType!
definition DefinitionType!

RestrictedExercise

Field Argument Type Description
id ID!
name String!
uuid UUID!

RestrictedTeam

Field Argument Type Description
id ID!
exercise ExerciseType!
name String!
role String!
emailAddress EmailParticipantType
achievedScore Int!
totalScore Int!

ReviewQuestionnaireMutation

Field Argument Type Description
updatedState TeamQuestionnaireStateInterface!
actionLog ActionLogInterface!

RotateAPIKeyMutation

Field Argument Type Description
newApiToken String!

SendCustomInjectMutation

Field Argument Type Description
sentTo [ID!]!
operationDone Boolean!

SendEmailMutation

Field Argument Type Description
email EmailInterface!

SendEmailType

Field Argument Type Description
exerciseId ID!
threadId ID!
senderAddress String!
content String
fileIds [UUID!]
activateMilestone [String!]
deactivateMilestone [String!]

StartExerciseMutation

Field Argument Type Description
exercise ExerciseType!

StartOnDemandExerciseMutation

Field Argument Type Description
exercise ExerciseType!

StopExerciseMutation

Field Argument Type Description
exercise ExerciseType!

StopOnDemandExerciseMutation

Field Argument Type Description
exercise ExerciseType!

TActionLogType

Field Argument Type Description
id ID!
timestamp DateTime!
team TeamType!
channel ChannelInterface!
detailsId Int!
instructorComment InstructorCommentType
previousLogs [ActionLogInterface!]!
user UserInterface
inExerciseTime Int!
nextLogs [ActionLogInterface]!
logType LogType!
teamId ID!
details TActionLogDetails!

TChannelType

Field Argument Type Description
id ID!
displayName String!
description String!
channelType InjectTypes!

TConfirmationDetailsType

Field Argument Type Description
id ID!

TCustomInjectDetailsType

Field Argument Type Description
id ID!
content ContentType!
overlay OverlayType

TEmailAddressType

Field Argument Type Description
id ID!
address String!
description String!
control ControlType!
teamVisible Boolean!
organization String!
signed Boolean!
definition ExerciseDefinitionType!
activity LearningActivityInterface!

TEmailType

Field Argument Type Description
id ID!
thread EmailThreadType!
sender EmailParticipantType!
content ContentType!
timestamp DateTime!
overlay OverlayType
user UserInterface

TFileDownloadDetailsType

Field Argument Type Description
id ID!
fileInfo FileInfoType!

TInjectDetailsType

Field Argument Type Description
id ID!
inject TInjectType!
content ContentType!
overlay OverlayType
confirmation ConfirmationType

TInjectType

Field Argument Type Description
id ID!
name String!
displayName String!
organization String!

TLearningActivityType

Field Argument Type Description
id ID!
name String!
description String!
tags [String!]!
objective LearningObjectiveInterface!
milestones [MilestoneType!]!
addresses [EmailAddressInterface!]!
injects [InjectInterface!]!
tools [ToolInterface!]!
questionnaires [QuestionnaireType!]!

TLearningObjectiveType

Field Argument Type Description
id ID!
name String!
description String!
tags [String!]!
order Int!
definition ExerciseDefinitionType!
activities [LearningActivityInterface!]!

TMilestoneModificationDetailsType

Field Argument Type Description
id ID!
activatedMilestoneStates [MilestoneStateType!]!
deactivatedMilestoneStates [MilestoneStateType!]!

TQuestionnaireReviewDetailsType

Field Argument Type Description
id ID!

TQuestionnaireSubmissionType

Field Argument Type Description
id ID!
teamQuestionnaireState TeamQuestionnaireStateInterface!
attempt Int!
accepted Boolean!
correct CorrectnessStatus!
answers [QuestionnaireAnswerType!]!

TSandboxLogDetailsType

Field Argument Type Description
id ID!
cmd String!
cmdSource String!
workingDirectory String!
username String!
container String!

TTeamLearningActivityType

Field Argument Type Description
id ID!
teamObjective ITeamLearningObjectiveType!
totalScore Int!
activity LearningActivityInterface!
milestoneStates [MilestoneStateType!]!
reached Boolean!
achievedScore Int!

TTeamLearningObjectiveType

Field Argument Type Description
id ID!
totalScore Int!
objective LearningObjectiveInterface!
activities [TeamLearningActivityInterface!]!
reached Boolean!
achievedScore Int!
teamIds [ID!]!

TTeamQuestionnaireStateType

Field Argument Type Description
id ID!
team TeamType!
questionnaire QuestionnaireType!
status Status!
timestampSent DateTime
timestampAnswered DateTime
attempts Int!
releaseTime Int!
submissions [QuestionnaireSubmissionInterface!]!
acceptedAnswers [QuestionnaireAnswerType!]!

TToolDetailsType

Field Argument Type Description
id ID!
tool TToolType!
argument String!
content ContentType!

TToolType

Field Argument Type Description
id ID!
name String!
displayName String!
category String!
tooltipDescription String!
hint String!
buttonCaption String!
requiresInput Boolean!

TUserType

Field Argument Type Description
lastLogin DateTime
id ID!
username String!
firstName String
lastName String
dateJoined DateTime!
group AuthGroup!
isGuest Boolean!

TagType

Field Argument Type Description
id ID!
name String!

TeamToken

Field Argument Type Description
token String!
teamIds [ID!]!
user TUserType!

TeamType

Field Argument Type Description
id ID!
exercise ExerciseType!
name String!
role String!
emailAddress EmailParticipantType
exerciseState ExerciseStateType!
finishTime DateTime
showOverview Boolean!
openSearchAccess OpenSearchAccessType
teamQuestionnaireStates [TeamQuestionnaireStateInterface!]!
instructorComments [InstructorCommentType!]!
logs [ActionLogInterface!]!
users [UserInterface!]!
achievedScore Int!
totalScore Int!

TimeIntervalType

Field Argument Type Description
timeFrom DateTime!
timeTo DateTime!

ToolResponseType

Field Argument Type Description
id ID!
param String!
content ContentType!
control ControlType!
time Int!
regex Boolean!
tool IToolType!

UpdatePlatformConfigMutation

Field Argument Type Description
platformConfig PlatformConfigType!

UpdateTagAssignmentsMutation

Field Argument Type Description
operationDone Boolean!

UpdateTagAssignmentsType

Field Argument Type Description
userIds [ID!]!
addTags [ID!]!
removeTags [ID!]!

UpdateTagMutation

Field Argument Type Description
updatedTag TagType!

UseToolMutation

Field Argument Type Description
operationDone Boolean!
actionLog ActionLogInterface!

UseToolType

Field Argument Type Description
teamId ID!
toolId ID!
toolArgument String!

WriteValueMutation

Field Argument Type Description
newValue String!

Inputs

ActionLogsFilterInput

Field Type Description
exerciseId ID
channelId ID
teamIds [ID!]!
typeBlacklist [LogType!]
newestFirst Boolean
requiresAttention Boolean
teamLimit Int

AnswerInput

Field Type Description
questionId ID!
value [String!]!

ChangeUserInput

Field Type Description
userId UUID!
group AuthGroup
active Boolean

ClusteringParamsInput

Field Type Description
iterations Int
neighbors Int
components Int
minDist Float
eps Float
minSamples Int

ConfigOverrideInput

Field Type Description
exerciseDuration Int
customEmailSuffix String
emailBetweenTeams Boolean
showExerciseTime Boolean
showExerciseOverview Boolean
customTeamNames [String!]
updateIntervalS Int

CreateBotInput

Field Type Description
username String!
allowedEndpoints [EndpointPermissions!]!

CreateExerciseInput

Field Type Description
definitionId ID!
teamCount Int!
name String
onDemand Boolean
sandbox Boolean
llm Boolean
configOverride ConfigOverrideInput
allowedStartInterval TimeIntervalInput

CreateUserInput

Field Type Description
email String!
firstName String
lastName String
group AuthGroup
tags [String!]!

CustomInjectInput

Field Type Description
exerciseId ID!
teamIds [ID]!
content String!
fileIds [UUID!]
channelId ID!
overlay OverlayInput

EditInstructorCommentInput

Field Type Description
exerciseId ID!
commentId ID!
comment String
score Int

FilterUsersInput

Field Type Description
username String
firstName String
lastName String
active Boolean
imported Boolean
groups [AuthGroup]
tags [String]
limit Int
skip Int
isGuest Boolean
createdBy UUID

InstructorCommentInput

Field Type Description
exerciseId ID!
logId ID!
comment String!
score Int

OverlayInput

Field Type Description
duration Int!

PlatformConfigInput

Field Type Description
maxTeams Int
updateInterval Int
llmPreLoad Boolean

QuestionnaireInput

Field Type Description
questionnaireId ID!
teamId ID!
answers [AnswerInput!]!

QuestionnaireReviewInput

Field Type Description
questionnaireId ID!
teamId ID!
activateMilestones [String!]!
deactivateMilestones [String!]!

SendEmailInput

Field Type Description
exerciseId ID!
threadId ID!
senderAddress String!
content String
fileIds [UUID!]
activateMilestone [String!]
deactivateMilestone [String!]

TimeIntervalInput

Field Type Description
timeFrom DateTime!
timeTo DateTime!

UpdateTagAssignmentsInput

Field Type Description
userIds [ID!]!
addTags [ID!]!
removeTags [ID!]!

UseToolInput

Field Type Description
teamId ID!
toolId ID!
toolArgument String!

Enums

AuthGroup

Value Description
BOT
TRAINEE
INSTRUCTOR
ADMIN

CauseType

Value Description
TRAINEE_ACTION
INSTRUCTOR_ACTION
AUTOMATIC_ACTION

CorrectnessStatus

Value Description
CORRECT
INCORRECT
PARTIALLY_CORRECT
UNKNOWN

EndpointPermissions

Value Description
DEFINITION_VALIDATION
DEFINITION_UPLOAD
DEFINITION_DOWNLOAD
READ_DEFINITIONS
DELETE_DEFINITION
CREATE_EXERCISE
START_EXERCISE
STOP_EXERCISE
READ_EXERCISES
DELETE_EXERCISE
GET_TRAINEE_PROGRESS

ExerciseStateEnum

Value Description
NOT_STARTED
PAUSED
RUNNING
STOPPED
EXPIRED
FINISHED

Feature

Value Description
ENABLE_EMAIL
EMAIL_BETWEEN_TEAMS
SHOW_EXERCISE_TIME
SHOW_EXERCISE_OVERVIEW
ENABLE_ROLES
ENABLE_TOOLS
ENABLE_QUESTIONNAIRES

InjectTypes

Value Description
INFO
EMAIL
TOOL
FORM

LogType

Value Description
INJECT
CUSTOM_INJECT
TOOL
EMAIL
FORM
FORM_SUBMISSION
FORM_REVIEW
CONFIRMATION
FILE_DOWNLOAD
MILESTONE_MODIFICATION
SANDBOX_LOG

QuestionTypes

Value Description
RADIO
FREE_FORM
AUTO_FREE_FORM
MULTIPLE_CHOICE

Status

Value Description
UNSENT
DELAYED
SENT
ANSWERED
REVIEWED

Scalars

Boolean

The Boolean scalar type represents true or false.

DateTime

Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

ID

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

JSONString

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

UUID

Interfaces

ActionLogInterface

Field Argument Type Description
id ID!
timestamp DateTime!
logType LogType!
channel ChannelInterface!
user UserInterface
teamId ID!
team TeamType!
previousLogs [ActionLogInterface!]!
instructorComment InstructorCommentType
nextLogs [ActionLogInterface]!
inExerciseTime Int!

Possible Types: IActionLogType, TActionLogType

ChannelInterface

Field Argument Type Description
id ID!
displayName String!
description String!
channelType InjectTypes!

Possible Types: IChannelType, TChannelType

EmailAddressInterface

Field Argument Type Description
id ID!
address String!
description String!
teamVisible Boolean!
organization String!
signed Boolean!
definition ExerciseDefinitionType!
activity LearningActivityInterface!

Possible Types: IEmailAddressType, TEmailAddressType

EmailInterface

Field Argument Type Description
id ID!
thread EmailThreadType!
sender EmailParticipantType!
content ContentType!
overlay OverlayType
user UserInterface
timestamp DateTime!

Possible Types: IEmailType, TEmailType

InjectInterface

Field Argument Type Description
id ID!
name String!
displayName String!
organization String!

Possible Types: IInjectType, TInjectType

LearningActivityInterface

Field Argument Type Description
id ID!
name String!
description String!
tags [String!]!
objective LearningObjectiveInterface!
injects [InjectInterface!]!
tools [ToolInterface!]!
milestones [MilestoneType!]!
addresses [EmailAddressInterface!]!
questionnaires [QuestionnaireType!]!

Possible Types: ILearningActivityType, TLearningActivityType

LearningObjectiveInterface

Field Argument Type Description
id ID!
name String!
description String!
tags [String!]!
order Int!
definition ExerciseDefinitionType!
activities [LearningActivityInterface!]!

Possible Types: ILearningObjectiveType, TLearningObjectiveType

QuestionnaireSubmissionInterface

Field Argument Type Description
id ID!
teamQuestionnaireState TeamQuestionnaireStateInterface!
attempt Int!
accepted Boolean!
correct CorrectnessStatus!
answers [QuestionnaireAnswerType!]!

Possible Types: IQuestionnaireSubmissionType, TQuestionnaireSubmissionType

TeamLearningActivityInterface

Field Argument Type Description
id ID!
reached Boolean!
achievedScore Int!
totalScore Int!
activity LearningActivityInterface!

Possible Types: ITeamLearningActivityType, TTeamLearningActivityType

TeamLearningObjectiveInterface

Field Argument Type Description
id ID!
reached Boolean!
achievedScore Int!
totalScore Int!
teamIds [ID!]!
objective LearningObjectiveInterface!
activities [TeamLearningActivityInterface!]!

Possible Types: ITeamLearningObjectiveType, TTeamLearningObjectiveType

TeamQuestionnaireStateInterface

Field Argument Type Description
id ID!
team TeamType!
status Status!
questionnaire QuestionnaireType!
timestampSent DateTime
timestampAnswered DateTime
attempts Int!
submissions [QuestionnaireSubmissionInterface!]!
acceptedAnswers [QuestionnaireAnswerType!]!

Possible Types: ITeamQuestionnaireStateType, TTeamQuestionnaireStateType

ToolInterface

Field Argument Type Description
id ID!
name String!
displayName String!
category String!
tooltipDescription String!
hint String!
buttonCaption String!
requiresInput Boolean!

Possible Types: IToolType, TToolType

UserInterface

Field Argument Type Description
id ID!
username String!
firstName String
lastName String
group AuthGroup!

Possible Types: IUserType, TUserType

Unions

ExercisesSubscriptionUnion

Type Description
CreateExercisesType
ModifyExercisesType
DeleteExercisesType

IActionLogDetails

Type Description
IToolDetailsType
IInjectDetailsType
IConfirmationDetailsType
ICustomInjectDetailsType
IEmailType
IQuestionnaireReviewDetailsType
IQuestionnaireSubmissionType
ITeamQuestionnaireStateType
IFileDownloadDetailsType
IMilestoneModificationDetailsType
ISandboxLogDetailsType

InstructorCommentSubscriptionUnion

Type Description
CreateInstructorCommentType
ModifyInstructorCommentType
DeleteInstructorCommentType

NoticeboardSubscriptionUnion

Type Description
CreateNoticeboardType
ModifyNoticeboardType
DeleteNoticeboardType

QuestionDetails

Type Description
RadioQuestionDetailsType
FreeFormQuestionDetailsType
AutoFreeFormQuestionDetailsType
MultipleChoiceQuestionDetailsType

TActionLogDetails

Type Description
TToolDetailsType
TInjectDetailsType
TConfirmationDetailsType
TCustomInjectDetailsType
TEmailType
TQuestionnaireReviewDetailsType
TQuestionnaireSubmissionType
TTeamQuestionnaireStateType
TFileDownloadDetailsType
TMilestoneModificationDetailsType
TSandboxLogDetailsType