On SCO load, call window.parent.API_1484_11.Initialize('') or walk the window parent chain to locate the SCORM 2004 API object exposed by the LMS
After a successful Initialize call, read cmi.learner_id and cmi.learner_name to identify the learner and personalize the experience
During the session, use SetValue to write interaction data (cmi.interactions.n.id, type, learner_response, correct_responses, result, latency) as the learner progresses
Write cmi.session_time in the ISO 8601 duration format (PT#H#M#S) to report elapsed time
Set cmi.completion_status to 'completed' and cmi.success_status to 'passed' or 'failed' based on assessment outcome before terminating
Call Commit('') to flush pending data to the LMS, then call Terminate('') on SCO unload to close the session cleanly
Known gotchas
Some LMS platforms do not persist data written via SetValue until Commit is called; always call Commit before navigating away or the data may be lost
The SCORM 2004 API object name is API_1484_11; the SCORM 1.2 API object is API — mixing them causes a runtime error if the wrong object is targeted
Calling Terminate more than once or calling SetValue after Terminate returns an error code; track API state internally to prevent duplicate calls
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp