QM
query: Query
mutation: Mutation
}
 
id: ID!
type: AssetType!
}
 
id: ID!
type: AssetType!
language: Language!
}
 
"""
Custom error type interface
"""
message: String!
code: String!
}
 
interface FileAsset implements Asset {
id: ID!
type: AssetType!
bucket: String!
location: String!
url: Url!
size: Int!
}
 
"""
Identity
"""
id: ID!
name: String!
isAccessible: Boolean!
}
 
"""
Reprezentace MyIdentity
"""
id: ID!
name: String!
isAccessible: Boolean!
systemAdmin: Boolean!
accessibleInstitutes: [InstituteAccess!]!
}
 
"""
Reprezentace payloadu
"""
success: Boolean!
}
 
"""
Cannot send invitation email for anonymous session
"""
message: String!
code: String!
}
 
"""
ApiToken
"""
id: ID!
isAccessible: Boolean!
name: String!
}
 
"""
Describes user's access to application
"""
id: ID!
name: String!
modules: [ModuleAccess!]!
}
 
"""
approve voucher redeem
"""
success: Boolean!
}
 
type AudioAsset implements Asset & FileAsset {
id: ID!
type: AssetType!
bucket: String!
location: String!
url: Url!
size: Int!
duration: Int!
}
 
"""
Representation of istqb board
"""
id: Int!
acronym: String!
name: String!
}
 
"""
overview
"""
items: [BoardView!]!
}
 
"""
Member board booking hours
"""
}
 
"""
Member board opening hour
"""
startTime: LocalTime!
endTime: LocalTimeEnd!
}
 
"""
Reprezentace kandidata
"""
id: ID!
email: EmailAddress!
firstName: String!
lastName: String!
countryCode: String
street: String
zipCode: String
city: String
phone: String
company: String
gender: Gender
examSessions: [ExamSessionView!]!
logs(
filter: CandidateLogFilter! = {actions:null}
createdAt: DateTimeMs!
updatedAt: DateTimeMs!
deletedAt: DateTimeMs
}
 
"""
wrong email amount
"""
message: String!
code: String!
}
 
"""
Reprezentace candidate log záznamu
"""
id: ID!
createdBy: IdentityView
createdAt: DateTimeMs!
}
 
"""
Reprezentace výběru candidate log záznamů
"""
items(
sort: CandidateLogSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
): [CandidateLog!]!
count: Int!
}
 
"""
Reprezentace výběru z kandidátů
"""
items(
sort: CandidateSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
): [Candidate!]!
count: Int!
}
 
"""
Reprezentace kandidata
"""
id: ID!
email: EmailAddress!
firstName: String!
lastName: String!
countryCode: String
street: String
zipCode: String
city: String
phone: String
company: String
gender: Gender
isAccessible: Boolean!
}
 
"""
Voucher generation is locked
"""
message: String!
code: String!
}
 
"""
Reprezentace payloadu createVoucherTemplatePayload
"""
result: VoucherTemplate!
}
 
"""
decline voucher redeem
"""
success: Boolean!
}
 
"""
Reprezentace institutu
"""
success: Boolean!
}
 
"""
Smazání voucheru
"""
success: Boolean!
}
 
"""
Smazání voucher templaty
"""
success: Boolean!
}
 
type DocumentAsset implements Asset & FileAsset {
id: ID!
type: AssetType!
bucket: String!
location: String!
url: Url!
size: Int!
}
 
"""
error representation
"""
message: String!
}
 
"""
Member board voucher part type
"""
examCenter: ExamCenterView!
voucherPart: String
bookingParticipantsLimit: Int
bookingAvailabilityHours: BookingAvailabilityHours!
deletedAt: DateTimeMs
}
 
"""
ExamCenter
"""
id: ID!
name: String!
contactEmail: EmailAddress
instituteId: ID!
isAccessible: Boolean!
}
 
"""
Exam Center voucher part exists
"""
message: String!
code: String!
duplicatedCode: String!
}
 
"""
Reprezxentace ExamSession
"""
token: ID!
exam: ExamView!
candidateId: ID
username: String!
passed: Boolean
earnedPercentage: Float
requiredPercentage: Int!
earnedPoints: Float
maxPoints: Int
evaluatedAt: DateTimeMs
approvedAt: DateTimeMs
isAccessible: Boolean!
}
 
"""
Representation of saved reports
"""
id: ID!
memberBoard: MemberBoardView!
boardId: Int!
productId: Int!
period: String!
country: String!
status: ReportStatus!
eCertified: Int
eFailed: Int
paperCertified: Int
paperFailed: Int
proctoringCertified: Int
proctoringFailed: Int
proctoringAccreditedTraining: Int
reportedBy: IdentityView
reportedAt: DateTimeMs
deletedAt: DateTimeMs
}
 
"""
exam template is archived
"""
message: String!
code: String!
}
 
"""
Reprezentace voucher template
"""
examTemplate: TemplateView!
languages: [Language!]!
}
 
"""
Reprezentace examu
"""
id: ID!
template: TemplateView!
startTime: DateTimeMs
endTime: DateTimeMs
secondaryCamera: Boolean
safeExamBrowser: Boolean
withTimeBonus: Boolean!
isAccessible: Boolean!
}
 
"""
Exceed max voucher amount
"""
message: String!
code: String!
}
 
"""
extend voucheru
"""
success: Boolean!
}
 
"""
error representation
"""
field: String!
messages: [String!]!
}
 
"""
Reprezentace url pro upload souboru
"""
url: Url!
}
 
"""
finish reporting
"""
success: Boolean!
}
 
"""
Reprezentace payloadu generace voucheru
"""
voucherBulk: VoucherBulk!
}
 
type ImageAsset implements Asset & FileAsset {
id: ID!
type: AssetType!
bucket: String!
location: String!
url: Url!
size: Int!
width: Int!
height: Int!
}
 
"""
Reprezentace importu kandidata
"""
count: Int!
skippedCount: Int!
candidates: [Candidate!]!
}
 
"""
Incorrect input when setting expire at.
"""
message: String!
code: String!
}
 
"""
Describes user's access to institute
"""
id: ID!
name: String!
accessibleApps: [AppAccess!]!
isRootUser: Boolean!
}
 
"""
Describes user's data scope within an institute
"""
memberBoardIds: [String!]
examCenterIds: [String!]
}
 
"""
Institute
"""
id: ID!
name: String!
logoFileUrl: Url
contactEmail: String!
emailSenderAddress: String!
emailSenderName: String!
isAccessible: Boolean!
}
 
message: String!
code: String!
}
 
"""
Invalid country code provided exception.
"""
message: String!
code: String!
}
 
"""
Invalid CSV file provided exception.
"""
message: String!
code: String!
}
 
"""
Invalid exam center values.
"""
message: String!
code: String!
}
 
"""
wrong startTime or endTime
"""
message: String!
code: String!
}
 
"""
Invitation email can only be sent for online exams
"""
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
Invalid reporting period
"""
message: String!
code: String!
}
 
"""
Invalid languages
"""
message: String!
code: String!
}
 
"""
Invalid time interval
"""
message: String!
code: String!
}
 
"""
Invalid voucher
"""
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
Invalid voucher part alphabet
"""
message: String!
code: String!
}
 
"""
Invalid voucher template.
"""
message: String!
code: String!
}
 
"""
Invalid auth token
"""
message: String!
code: String!
}
 
"""
Invalid input for reporting
"""
message: String!
code: String!
}
 
"""
ISTQB api request ended with error
"""
message: String!
code: String!
}
 
"""
Invalid input for reporting
"""
message: String!
code: String!
}
 
"""
Invalid country
"""
message: String!
code: String!
}
 
"""
missing country code
"""
message: String!
code: String!
}
 
"""
Member board not found
"""
message: String!
code: String!
}
 
"""
Member board settings
"""
memberBoard: MemberBoardView!
istqbBoardId: Int
istqbReportingCountry: String
deletedAt: DateTimeMs
}
 
"""
Member Board
"""
id: ID!
name: String!
contactEmail: EmailAddress
instituteId: ID!
logoFileUrl: Url
isAccessible: Boolean!
}
 
"""
Describes user's access to module
"""
id: ID!
name: String!
permissions: [String!]!
}
 
"""
Root type pro mutation operaci
"""
importCandidatesCsv(
): ImportCandidatesCsvResult! @auth(module: DEFAULT, permission: IMPORT_CANDIDATE)
importCandidatesRaw(
): ImportCandidatesRawResult! @auth(module: DEFAULT, permission: IMPORT_CANDIDATE)
deleteCandidate(
id: ID! @resource(type: CANDIDATE)
): DeleteCandidateResult! @auth(module: DEFAULT, permission: DELETE_CANDIDATE)
updateCandidate(
id: ID! @resource(type: CANDIDATE)
): UpdateCandidatePayload! @auth(module: DEFAULT, permission: UPDATE_CANDIDATE)
updateTenantSettings(
setExamCentersSettings(
): SetExamCentersSettingsResult! @auth(module: DEFAULT)
setMemberBoardSettings(
): SetMemberBoardSettingsResult! @auth(module: DEFAULT)
deleteVoucherTemplate(
id: ID! @resource(type: VOUCHER_TEMPLATE)
): DeleteVoucherTemplateResult! @auth(module: VOUCHER, permission: VOUCHER_TEMPLATE_DELETE)
updateVoucherTemplate(
id: ID! @resource(type: VOUCHER_TEMPLATE)
): UpdateVoucherTemplateResult! @auth(module: VOUCHER, permission: VOUCHER_TEMPLATE_UPDATE)
createVoucherTemplate(
): CreateVoucherTemplateResult! @auth(module: VOUCHER, permission: VOUCHER_TEMPLATE_CREATE)
generateVouchers(
): GenerateVouchersResult! @auth(module: VOUCHER, permission: VOUCHER_GENERATE)
deleteVoucher(
id: ID! @resource(type: VOUCHER)
): DeleteVoucherResult! @auth(module: VOUCHER, permission: VOUCHER_DELETE)
extendVouchers(
): ExtendVouchersResult! @auth(module: VOUCHER, permission: VOUCHER_EXTEND)
approveVoucherRedeemRequest(
id: ID! @resource(type: VOUCHER_REDEEM_REQUEST)
): ApproveVoucherRedeemResult! @auth(module: VOUCHER, permission: VOUCHER_REDEEM_REQUEST_APPROVE)
declineVoucherRedeemRequest(
id: ID! @resource(type: VOUCHER_REDEEM_REQUEST)
): DeclineVoucherRedeemResult! @auth(module: VOUCHER, permission: VOUCHER_REDEEM_REQUEST_APPROVE)
addFilesToVoucherRedeemRequest(
): AddFilesToVoucherRedeemRequestResult! @auth(module: VOUCHER, permission: UPLOAD_FILES)
sendInvitationEmail(
): SendInvitationEmailResult! @auth(module: DEFAULT)
 
"AssetsHub"
fileUploadUrl(
 
validateFile(
 
"ISTQB"
istqbSendReport(
): IstqbSendReportResult! @auth(module: DEFAULT, permission: REPORT_DATA)
 
istqbFinishReporting(
input: ReportInput!
): FinishReportingResult! @auth(module: DEFAULT, permission: REPORT_DATA)
}
 
"""
Authenticated api token
"""
id: ID!
isAccessible: Boolean!
systemAdmin: Boolean!
accessibleInstitutes: [InstituteAccess!]!
name: String!
}
 
"""
Authenticated user
"""
id: ID!
isAccessible: Boolean!
systemAdmin: Boolean!
accessibleInstitutes: [InstituteAccess!]!
name: String!
firstName: String!
lastName: String!
email: EmailAddress!
language: Language!
}
 
"""
No product for reporting
"""
message: String!
code: String!
}
 
type PdfAsset implements Asset & FileAsset {
id: ID!
type: AssetType!
bucket: String!
location: String!
url: Url!
size: Int!
pages: [PdfAssetPage!]!
}
 
pageNumber: Int!
imageAsset: ImageAsset!
}
 
"""
Representation of istqb reporting periods
"""
id: Int!
acronym: String!
name: String!
periods: [String!]!
}
 
"""
periods overview
"""
periods: PeriodView!
}
 
"""
Representation of istqb product
"""
id: Int!
acronym: String!
stream: String!
level: String!
name: String!
allowedReportTypes: [String!]!
}
 
"""
products overview
"""
items: [ProductView!]!
}
 
"""
Root type pro query operaci
"""
"Candidate crud"
candidate(
id: ID! @resource(type: CANDIDATE)
): Candidate! @auth(module: DEFAULT)
 
candidates(
filter: CandidateFilter! = {}
): CandidateSelection! @auth(module: DEFAULT)
 
"Tenant settings"
tenantSettings: TenantSettings! @auth(module: DEFAULT)
 
examCenterSettings: [ExamCenterSettings!]! @auth(module: DEFAULT)
memberBoardsSettings: [MemberBoardSettings!]! @auth(module: DEFAULT)
voucherTemplate(
id: ID! @resource(type: VOUCHER_TEMPLATE)
): VoucherTemplate! @auth(module: VOUCHER)
voucherTemplates(
filter: VoucherTemplateFilter! = {name:null,examTemplateId:null}
): VoucherTemplateSelection! @auth(module: VOUCHER)
voucherBulk(
id: ID! @resource(type: VOUCHER_BULK)
): VoucherBulk! @auth(module: VOUCHER)
voucherBulks(
filter: VoucherBulkFilter! = {voucherTemplateId:null,memberBoardId:null}
): VoucherBulkSelection! @auth(module: VOUCHER)
voucher(
id: ID! @resource(type: VOUCHER)
): Voucher! @auth(module: VOUCHER)
vouchers(
filter: VoucherFilter! = {code:null,expired:null,isRedeemed:null,createdFrom:null,createdTo:null,voucherTemplateId:null,memberBoardId:null,voucherBulkId:null,examCenterId:null,voucherIds:null}
): VoucherSelection! @auth(module: VOUCHER)
vouchersCsv(
filter: VoucherFilter! = {code:null,expired:null,isRedeemed:null,createdFrom:null,createdTo:null,voucherTemplateId:null,memberBoardId:null,voucherBulkId:null,examCenterId:null,voucherIds:null}
): String! @auth(module: VOUCHER)
voucherRedeemRequest(
id: ID! @resource(type: VOUCHER_REDEEM_REQUEST)
): VoucherRedeemRequest! @auth(module: VOUCHER)
voucherRedeemRequests(
filter: VoucherRedeemRequestFilter! = {code:null,status:null,active:null}
): VoucherRedeemRequestSelection! @auth(module: VOUCHER)
 
"UserHub"
 
"ISTQB"
istqbProducts(
memberBoardId: ID! @resource(type: MEMBER_BOARD)
): ProductsResult! @auth(module: DEFAULT)
 
istqbPeriods(
memberBoardId: ID! @resource(type: MEMBER_BOARD)
): PeriodsResult! @auth(module: DEFAULT)
istqbBoards: BoardsResult! @auth(module: DEFAULT)
istqbReportsOverview(
input: ReportInput!
): ReportsOverviewResult! @auth(module: DEFAULT)
}
 
"""
VoucherRedeemRequest processed.
"""
message: String!
code: String!
}
 
"""
Representation of examhub report preview
"""
country: String!
productId: Int!
eCertified: Int
eFailed: Int
paperCertified: Int
paperFailed: Int
proctoringCertified: Int
proctoringFailed: Int
proctoringAccreditedTraining: Int
}
 
"""
Representation of istqb report and examhub calculated report and saved report in our database
"""
memberBoard: MemberBoardView!
boardId: Int!
period: String!
istqbReportData: ReportView
calculatedReportData: ReportInputView!
latestSubmitReportData: ExamSessionsReport
}
 
"""
Representation of istqb report
"""
country: String!
productId: Int!
eCertified: Int
eFailed: Int
paperCertified: Int
paperFailed: Int
proctoringCertified: Int
proctoringFailed: Int
proctoringAccreditedTraining: Int
}
 
"""
overview report
"""
items: [ReportOverview!]!
warnings: [String!]!
}
 
"""
Send invitation email payload
"""
success: Boolean!
}
 
"""
send istqb report
"""
success: Boolean!
corruptedData: ReportInputView
}
 
"""
Reprezentace nastavení voucher partu pro exam center
"""
success: Boolean!
}
 
"""
Reprezentace nastavení pro member board
"""
success: Boolean!
}
 
"""
Reprezentace templatu
"""
id: ID!
templateVersionId: ID!
name: String!
internalName: String!
logoUrl: Url
durationInMinutes: Int!
durationInMinutesWithTimeBonus: Int!
requiredPercentage: Int!
availableLanguages: [Language!]!
isAccessible: Boolean!
requireDocuments: Boolean!
isArchived: Boolean!
istqbProductId: Int
}
 
"""
Reprezentace nastaveni tenanta
"""
soapUsername: String!
soapPassword: String!
voucherPart: String!
 
"Voucher export strategy: examhub_direct or combit_ftp"
voucherExportStrategy: String!
 
"Combit FTP server hostname"
combitFtpHost: String
 
"Combit FTP server port"
combitFtpPort: Int
 
"Combit FTP username"
combitFtpUsername: String
 
"Use SSL/TLS for FTP connection"
combitFtpSsl: Boolean
 
istqbApiToken: String
}
 
type TextAsset implements Asset & ContentAsset {
id: ID!
type: AssetType!
language: Language!
value: String!
}
 
id: ID!
type: AssetType!
language: Language!
value: Json!
assets: [FileAsset!]!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
Reprezentace payloadu updateCandidate
"""
result: Candidate!
}
 
"""
Reprezentace payloadu updateTenantSettings
"""
result: TenantSettings!
}
 
"""
Reprezentace payloadu updateVoucherTemplatePayload
"""
result: VoucherTemplate!
}
 
type UrlAsset implements Asset & FileAsset {
id: ID!
type: AssetType!
bucket: String!
location: String!
url: Url!
size: Int!
}
 
"""
User
"""
id: ID!
isAccessible: Boolean!
name: String!
firstName: String!
lastName: String!
email: EmailAddress!
}
 
"""
Reprezentace file
"""
result: FileAsset!
}
 
type VideoAsset implements Asset & FileAsset {
id: ID!
type: AssetType!
bucket: String!
location: String!
url: Url!
size: Int!
width: Int!
height: Int!
duration: Int!
}
 
"""
Reprezentace voucheru
"""
id: ID!
code: String!
voucherTemplate: VoucherTemplate!
memberBoard: MemberBoardView!
examTemplates: [ExamTemplateWithLanguages!]!
examCenter: ExamCenterView!
candidateEmail: String
remainingBookingCount: Int!
expiresAt: DateTimeMs!
redeemedAt: DateTimeMs
secondaryCamera: Boolean!
safeExamBrowser: Boolean!
examType: ExamType!
examSession: ExamSessionView
bookingCount: Int!
createdAt: DateTimeMs!
updatedAt: DateTimeMs!
deletedAt: DateTimeMs
}
 
"""
Reprezentace voucheru
"""
id: ID!
targetAmount: Int!
generatedAmount: Int
generatedAt: DateTimeMs
voucherTemplate: VoucherTemplate!
memberBoard: MemberBoardView!
examCenter: ExamCenterView!
createdAt: DateTimeMs!
candidateEmails: [EmailAddress!]
candidateEmailsFailed: [EmailAddress!]
examType: ExamType!
}
 
"""
Reprezentace výběru z voucheru
"""
items(
sort: VoucherBulkSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
): [VoucherBulk!]!
count: Int!
}
 
"""
Reprezentace voucheru redeem requestu
"""
id: ID!
candidate: Candidate!
language: Language!
withTimeBonus: Boolean!
secondaryCamera: Boolean!
safeExamBrowser: Boolean!
startTime: DateTimeMs!
examTemplate: TemplateView!
voucher: Voucher!
resolvedBy: IdentityView
resolvedAt: DateTimeMs
rebookedAt: DateTimeMs
comment: String
createdAt: DateTimeMs!
updatedAt: DateTimeMs!
}
 
"""
Reprezentace file
"""
file: FileAsset!
}
 
"""
Reprezentace výběru z voucher redeem requestu
"""
items(
sort: VoucherRedeemRequestSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
count: Int!
}
 
"""
Reprezentace výběru z voucheru
"""
items(
sort: VoucherSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
): [Voucher!]!
count: Int!
}
 
"""
Reprezentace voucher template
"""
id: ID!
name: String!
pattern: String!
voucherExpirationDays: Int!
examTemplates: [ExamTemplateWithLanguages!]!
activeVoucherCount: Int!
maxRebookingCount: Int!
minRebookingAdvanceHours: Int!
minBookingBufferHours: Int!
autoApproveOnRebooking: Boolean!
secondaryCamera: Boolean!
safeExamBrowser: Boolean!
examType: ExamType!
createdAt: DateTimeMs!
updatedAt: DateTimeMs!
deletedAt: DateTimeMs
}
 
"""
Voucher template has vouchers.
"""
message: String!
code: String!
}
 
"""
Voucher template pattern unique.
"""
message: String!
code: String!
}
 
"""
Reprezentace výběru z voucher templatu
"""
items(
sort: VoucherTemplateSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
count: Int!
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
"""
Input add list of files to voucher redeem request
"""
voucherRedeemRequestId: ID! @resource(type: VOUCHER_REDEEM_REQUEST)
files: [ID!]! @listConstraint(minItems: 1, unique: true) @fileAsset(types: [DOCUMENT,IMAGE,PDF])
}
 
"""
Input pro nastaveni opening hours pro MB
"""
}
 
"""
Input pro nastaveni opening hours pro MB
"""
startTime: LocalTime!
endTime: LocalTimeEnd!
}
 
"""
Filter candidates
"""
name: String
}
 
"""
Input pro pridani kandidata
"""
email: EmailAddress!
countryCode: String = null @stringConstraint(minLength: 1, maxLength: 3)
firstName: String! @stringConstraint(minLength: 1, maxLength: 200)
lastName: String! @stringConstraint(minLength: 1, maxLength: 200)
street: String = null @stringConstraint(minLength: 1, maxLength: 200)
city: String = null @stringConstraint(minLength: 1, maxLength: 200)
zipCode: String = null @stringConstraint(minLength: 1, maxLength: 20)
phone: String = null @stringConstraint(minLength: 1, maxLength: 50)
company: String = null @stringConstraint(minLength: 1, maxLength: 20)
gender: Gender = null
}
 
"""
Input pro filtraci candidate logs
"""
actions: [CandidateLogAction] = null
}
 
"""
Input pro create VoucherTemplate
"""
name: String! @stringConstraint(maxLength: 255)
pattern: String! @stringConstraint(maxLength: 100)
voucherExpirationDays: Int! @intConstraint(min: 1)
maxRebookingCount: Int! @intConstraint(min: 0)
minRebookingAdvanceHours: Int! @intConstraint(min: 1)
minBookingBufferHours: Int! = 1 @intConstraint(min: 1)
autoApproveOnRebooking: Boolean! = true
secondaryCamera: Boolean! = true
safeExamBrowser: Boolean! = false
examType: ExamType! = PROCTORING
}
 
"""
Input na decline requestu
"""
comment: String = null
}
 
"""
Filter exam centers
"""
name: String
instituteId: ID
}
 
"""
Input set voucher_part for exam center
"""
examCenterId: ID! @resource(type: EXAM_CENTER)
voucherPart: String! @stringConstraint(minLength: 4, maxLength: 4)
bookingParticipantsLimit: Int = null
bookingAvailabilityHours: BookingAvailabilityHoursInput!
istqbBoardId: Int = null
}
 
"""
Filter exams by name
"""
name: String = null @stringConstraint(minLength: 1)
templateId: ID = null
memberBoardId: ID = null @stringConstraint(minLength: 1)
type: [ExamType!] = null @listConstraint(unique: true)
firstStartTimeFrom: DateTimeMs = null
firstStartTimeTo: DateTimeMs = null
}
 
"""
Filter ExamSessions
"""
candidateId: ID = null
templateId: ID = null
examId: ID = null
memberBoardId: ID = null
username: String = null
sessionStage: [SessionStage!] = null @listConstraint(unique: true)
examType: [ExamType!] = null @listConstraint(unique: true)
passed: Boolean = null
approved: Boolean = null
hasAnswerSheetPages: Boolean = null
firstStartTimeFrom: DateTimeMs = null
firstStartTimeTo: DateTimeMs = null
isIstqb: Boolean = null
}
 
"""
Input na extend voucheru
"""
voucherIds: [ID!]! @resource(type: VOUCHER)
days: Int @optional @intConstraint(min: 1)
}
 
"""
File generate url input
"""
bucket: Bucket!
}
 
"""
GenerateVoucherSendingStrategyInput
"""
toExamCenter: SendToExamCenterInput
toCandidates: SendToCandidatesInput
}
 
"""
Input pro generovani voucheru
"""
voucherTemplateId: ID! @resource(type: VOUCHER_TEMPLATE)
memberBoardId: ID! @resource(type: MEMBER_BOARD)
examCenterId: ID! @resource(type: EXAM_CENTER)
count: Int! @intConstraint(min: 1, max: 400)
sendingStrategy: GenerateVoucherSendingStrategyInput = null
}
 
"""
Filter identities
"""
name: String
instituteId: ID
}
 
"""
Input pro csv import candidates
"""
file: Upload!
}
 
"""
Input pro raw import candidates
"""
candidates: [CandidateInput!]!
}
 
minItems: Int = null @intConstraint(min: 0)
maxItems: Int = null @intConstraint(min: 0)
unique: Boolean! = false
innerList: ListConstraintInput = null
}
 
"""
Filter member boards
"""
name: String
instituteId: ID
}
 
count: Int! @intConstraint(min: 1)
from: [String!]! @listConstraint(minItems: 1)
}
 
"""
Input pro ziskani reportu z istqb
"""
productId: Int!
eCertified: Int
eFailed: Int
paperCertified: Int
paperFailed: Int
proctoringCertified: Int
proctoringFailed: Int
proctoringAccreditedTraining: Int
}
 
"""
Input pro ziskani reportu z istqb
"""
memberBoardId: ID! @resource(type: MEMBER_BOARD)
year: Int! @intConstraint(min: 2025, max: 3000)
month: Int! @intConstraint(min: 1, max: 12)
}
 
"""
Mutace pro odeslání pozvánky na zkoušku
"""
examSessionIds: [ID!]! @resource(type: EXAM_SESSION)
}
 
"""
Input na odeslani reportu do istqb
"""
memberBoardId: ID! @resource(type: MEMBER_BOARD)
year: Int! @intConstraint(min: 2025, max: 3000)
month: Int! @intConstraint(min: 1, max: 12)
boardId: Int!
data: [ReportDataInput!]!
}
 
"""
SendToCandidatesInput
"""
candidateEmails: [EmailAddress!]! @listConstraint(minItems: 1, unique: true)
toExamCenter: Boolean! = false
}
 
"""
SendToExamCenterInput
"""
toExamCenter: Boolean! = true
}
 
"""
Input set list of examCenters with voucher parts
"""
examCentersSettings: [ExamCenterSettingsInput!]!
}
 
"""
Input set istqbBoardId for member board
"""
memberBoardId: ID! @resource(type: MEMBER_BOARD)
istqbBoardId: Int = null
istqbReportingCountry: String = null
}
 
"""
Filter criteria for templates
"""
name: String = null @stringConstraint(minLength: 1)
catalogueId: ID = null @stringConstraint(minLength: 1)
isArchived: Boolean = null
isIstqb: Boolean = null
}
 
"""
Input pro TenantSettings
"""
soapUsername: String @optional @stringConstraint(minLength: 4, maxLength: 200)
soapPassword: String @optional @stringConstraint(minLength: 4, maxLength: 200)
voucherPart: String @optional @stringConstraint(minLength: 4, maxLength: 4)
istqbApiToken: String @stringConstraint(maxLength: 255)
}
 
"""
Input pro pridani kandidata
"""
countryCode: String @stringConstraint(minLength: 1, maxLength: 3)
firstName: String @optional @stringConstraint(minLength: 1, maxLength: 200)
lastName: String @optional @stringConstraint(minLength: 1, maxLength: 200)
street: String @stringConstraint(minLength: 1, maxLength: 200)
city: String @stringConstraint(minLength: 1, maxLength: 200)
zipCode: String @stringConstraint(minLength: 1, maxLength: 20)
phone: String @stringConstraint(minLength: 1, maxLength: 50)
company: String @stringConstraint(minLength: 1, maxLength: 20)
gender: Gender
}
 
"""
Input pro VoucherTemplate
"""
name: String @optional @stringConstraint(maxLength: 255)
pattern: String @optional @stringConstraint(maxLength: 100)
voucherExpirationDays: Int @optional @intConstraint(min: 1)
maxRebookingCount: Int @optional @intConstraint(min: 0)
minRebookingAdvanceHours: Int @optional @intConstraint(min: 1)
minBookingBufferHours: Int @optional @intConstraint(min: 1)
autoApproveOnRebooking: Boolean @optional
secondaryCamera: Boolean @optional
safeExamBrowser: Boolean @optional
updateVouchers: Boolean! = false
examType: ExamType @optional
}
 
"""
File upload validation input
"""
fileUrl: Url!
}
 
"""
Input pro filtraci voucher bulk
"""
voucherTemplateId: ID = null @resource(type: VOUCHER_TEMPLATE)
memberBoardId: ID = null @resource(type: MEMBER_BOARD)
}
 
"""
Input pro filtraci voucheru
"""
code: String = null
expired: Boolean = null
isRedeemed: Boolean = null
createdFrom: DateTimeMs = null
createdTo: DateTimeMs = null
voucherTemplateId: ID = null @resource(type: VOUCHER_TEMPLATE)
memberBoardId: ID = null @resource(type: MEMBER_BOARD)
voucherBulkId: ID = null @resource(type: VOUCHER_BULK)
examCenterId: ID = null @resource(type: EXAM_CENTER)
voucherIds: [ID!] = null @resource(type: VOUCHER)
}
 
"""
Input pro filtraci voucher template
"""
code: String = null @stringConstraint(minLength: 4)
status: VoucherRedeemRequestStatus = null
active: Boolean = null
}
 
"""
Input pro prirazeni jazyku k ExamTemplate pro VoucherTemplate
"""
examTemplateId: ID! @resource(type: EXAM_TEMPLATE)
languages: [Language!] = null @listConstraint(unique: true)
}
 
"""
Input pro filtraci voucher template
"""
name: String = null @stringConstraint(minLength: 1)
examTemplateId: ID = null @resource(type: EXAM_TEMPLATE)
}
 
"""
Date type - string which contains valid date in "<YYYY>-<MM>-<DD>" format.
"""
scalar Date @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6")
 
"""
DateTimeMs type - string which contains valid date in ISO8601 format.
"""
scalar DateTimeMs @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6")
 
"""
EmailAddress type - string which contains valid email address.
"""
scalar EmailAddress @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1")
 
"""
Json type - string which contains valid JSON.
"""
scalar Json @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc7159")
 
"""
LocalTime type - string which contains time in "HH:MM:SS" format (without timezone information).
"""
 
"""
LocalTimeEnd type - string which contains time in "HH:MM:SS" format (without timezone information), including a special 24:00:00 value for usage in intervals.
"""
 
"""
PhoneNumber type - string which contains valid phone number.
The accepted format is without spaces and other special characters, but the leading plus is required.
"""
scalar PhoneNumber @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc3966#section-5.1")
 
"""
Upload type - represents file which was send to server.
By GraphQL viewpoint it is scalar type, but it must be used as input only.;
"""
scalar Upload @specifiedBy(url: "https://github.com/jaydenseric/graphql-multipart-request-spec")
 
"""
Url type - string which contains valid URL (Uniform Resource Locator).
"""
scalar Url @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc3986")
 
"""
Type of asset
"""
AUDIO
DOCUMENT
IMAGE
PDF
URL
TEXT
TIP_TAP_JSON
VIDEO
}
 
"""
Aws buckets supported by this application
"""
candidate
}
 
"""
Candidate log action type
"""
CANDIDATE_CREATED
CANDIDATE_EDITED
VOUCHER_REDEEM_DECLINED
VOUCHER_REDEEMED_SUCCESSFULLY
}
 
"""
Možnosti řazení candidate logů
"""
CREATED
ACTION
}
 
"""
Možnosti řazení kandidátů
"""
CREATED
NAME
}
 
"""
Stav zkoušky
"""
ONLINE
PROCTORING
PAPER
TABLET
RECORD_REVIEW
}
 
"""
Gender
"""
MALE
FEMALE
DIVERSE
}
 
"""
Typ pozvánky na zkoušku - přímý odkaz na zkoušku nebo přihlašovací údaje
"""
DIRECT_SESSION_LINK
LOGIN_LINK
}
 
"""
Supported languages
"""
AA
AB
AE
AF
AK
AM
AN
AR
AS
AV
AY
AZ
BA
BE
BG
BH
BI
BM
BN
BO
BR
BS
CA
CE
CH
CO
CR
CS
CU
CV
CY
DA
DE
DV
DZ
EE
EL
EN
EO
ES
ET
EU
FA
FF
FI
FJ
FO
FR
FY
GA
GD
GL
GN
GU
GV
HA
HE
HI
HO
HR
HT
HU
HY
HZ
IA
ID
IE
IG
II
IK
IO
IS
IT
IU
JA
JV
KA
KG
KI
KJ
KK
KL
KM
KN
KO
KR
KS
KU
KV
KW
KY
LA
LB
LG
LI
LN
LO
LT
LU
LV
MG
MH
MI
MK
ML
MN
MR
MS
MT
MY
NA
NB
ND
NE
NG
NL
NN
NO
NR
NV
NY
OC
OJ
OM
OR
OS
PA
PI
PL
PS
PT
QU
RM
RN
RO
RU
RW
SA
SC
SD
SE
SG
SI
SK
SL
SM
SN
SO
SQ
SR
SS
ST
SU
SV
SW
TA
TE
TG
TH
TI
TK
TL
TN
TO
TR
TS
TT
TW
TY
UG
UK
UR
UZ
VE
VI
VO
WA
WO
XH
YI
YO
ZA
ZH
ZU
}
 
"""
Modules supported by this application
"""
DEFAULT
VOUCHER
}
 
"""
Permissions supported by this application
"""
DELETE_CANDIDATE
IMPORT_CANDIDATE
UPDATE_CANDIDATE
REPORT_DATA
UPLOAD_FILES
VOUCHER_TEMPLATE_CREATE
VOUCHER_TEMPLATE_UPDATE
VOUCHER_TEMPLATE_DELETE
VOUCHER_GENERATE
VOUCHER_DELETE
VOUCHER_EXTEND
VOUCHER_REDEEM_REQUEST_APPROVE
}
 
"""
Report status
"""
created
finished
locked
}
 
"""
Typ entity
"""
CANDIDATE
VOUCHER_TEMPLATE
VOUCHER_BULK
VOUCHER
VOUCHER_REDEEM_REQUEST
EXAM_SESSION_REPORT
IDENTITY
USER
MEMBER_BOARD
EXAM_CENTER
EXAM_TEMPLATE
EXAM_SESSION
ASSET
}
 
"""
Stav kandidáta ve zkoušce
"""
NONE
UPCOMING
RUNNING
SUBMITTED
EVALUATED
APPROVED
TERMS_DECLINED
}
 
"""
Sorting direction
"""
ASC
DESC
}
 
"""
Možnosti řazení voucheru
"""
CREATED
}
 
"""
Voucher bulk status
"""
PROCESSING
SUCCESS
ERROR
}
 
"""
Možnosti řazení voucher redeem requestu
"""
CREATED
}
 
"""
Voucher redeem request status
"""
PENDING
APPROVED
DECLINED
}
 
"""
Možnosti řazení voucheru
"""
CREATED
EXPIRES_AT
}
 
"""
Možnosti řazení voucher template
"""
CREATED
NAME
}
 
"""
Only system admin can perform this action.
"""
directive @admin on FIELD_DEFINITION
 
"""
Only user with given permission can perform this action.
"""
module: Module!
permission: Permission
) on FIELD_DEFINITION
 
"""
Only user with given permission can perform this action.
"""
module: Module!
permission: Permission
) repeatable on ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION
 
types: [AssetType!]!
) on ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION
 
"""
Graphpinator floatConstraint directive.
"""
min: Float
max: Float
oneOf: [Float!]
) on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | VARIABLE_DEFINITION
 
"""
Graphpinator intConstraint directive.
"""
min: Int
max: Int
oneOf: [Int!]
) on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | VARIABLE_DEFINITION
 
"""
Graphpinator listConstraint directive.
"""
minItems: Int = null @intConstraint(min: 0)
maxItems: Int = null @intConstraint(min: 0)
unique: Boolean! = false
innerList: ListConstraintInput = null
) on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | VARIABLE_DEFINITION
 
"""
Only logged in user can perform this action.
"""
directive @loggedIn on FIELD_DEFINITION
 
"""
Graphpinator objectConstraint directive.
"""
atLeastOne: [String!] @listConstraint(minItems: 1)
atMostOne: [String!] @listConstraint(minItems: 1)
exactlyOne: [String!] @listConstraint(minItems: 1)
) repeatable on OBJECT | INTERFACE | INPUT_OBJECT
 
directive @optional on ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION
 
type: ResourceType!
) on ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION
 
"""
Only root user can perform this action.
"""
directive @root on FIELD_DEFINITION
 
"""
Graphpinator stringConstraint directive.
"""
minLength: Int @intConstraint(min: 0)
maxLength: Int @intConstraint(min: 0)
regex: String
oneOf: [String!]
) on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | VARIABLE_DEFINITION