Read lab content
labs.list() includes hasGuide and hasResources. labs.get() returns the full content:
Show the guide
A guide contains these fields:
Each task has an
id, title, body, question, and flag. The body contains Markdown.
A question can use text or true_false. An absent question type means text. A task with flag: true accepts a CTF flag.
Show the objectives, scenario, tasks, and closing section in order. Sanitize Markdown and embedded content before display.
The SDK supplies data. Your application supplies the interface.
Grade a guide answer
true and false.
Guide grading does not record overall lab completion. The API currently does not use the optional
learnerId for guide grading.
Submit a CTF flag
Cybr compares flags without case sensitivity. The completion guide explains verification results and learner progress.
Other lab content
The detail response can include resource links, diagrams, videos, banners, and writeups. Optional fields depend on the lab. Diagramkind identifies an image or HTML document. HTML diagrams require a sandboxed iframe. Unknown video providers can be skipped without hiding the guide.
The SDK reference lists content types and discussion methods. The REST reference describes the HTTP shapes.