Docs
arrow_back Embeddables

Screen Player Build and above

The Screen Player surfaces one standalone screen, or a quiz section, inside your product. Learners stay on that screen (or walk the quiz internally); next and back at the edges are host intents so you can route them yourself.

Use it for a single knowledge check, a microlearning card, or an embedded quiz that should not look like a full course. Theme comes from themeId. Quiz attempts persist against the token identity so a failed quiz stays failed on re-embed. Non-quiz screens are stateless.

Hosts who created the screen via either Screen Builder path listen here for start / complete / failed (and score) on the same host postMessage channel.

API Endpoint

POST/v1/headless/embed/screen

Body parameters

FieldTypeExampleDescriptionDemo Value
actionstringview
screenIdnumber123
identifierstringyour-user-id
clientIdentifierstringyour-tenant-id
namestringJane Doe
avatarstringhttps://example.com/avatar.jpg
options.hideNavigationbooleanfalseHide the player footer pill. Item and question holds still compute, and locked/unlocked events still fire so host chrome can match.
options.showContinuebooleantrueShow the quiz results Continue button. Set false when the host drives navigation after a pass.
options.themeIdnumberCustom theme ID to apply to the embeddable.
TypeEventDescriptionNotes
sessionreadyFires when the screen player is mounted and ready.
screenstartFires when a screen comes into view.Shape is { type: 'screen', event, data }. Requires api_authoring; a play-only api client receives no events.
screenendFires when a screen is navigated away from.
screencompleteFires when a screen is completed.Trigger varies by screen type. A scored quiz pass includes data.score.percentage and data.score.passed.
screenanswerFires when a quiz question is answered.Quiz screens only.
screenfailedFires when a scored quiz is failed.Quiz screens only. Includes data.score.percentage and data.score.passed.
navigationnextFires when the learner presses next on the last screen. The player does not leave; the host routes.
navigationbackFires when the learner presses back on the first screen. The player does not leave; the host routes.
navigationlockedFires when footer next is locked (required items, questions, or holds).
navigationunlockedFires when footer next becomes available.
Playback event
{
  "type": "screen",
  "event": "complete",
  "data": {
    "id": 123,
    "score": { "percentage": 80, "passed": true }
  }
}

Live Demo