Send an xAPI (Tin Can) statement to a Learning Record Store endpoint

domain: adlnet.gov · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Construct an xAPI statement object with required fields: id (UUID v4), actor (Agent with mbox or account IFI), verb (id IRI and display map), and object (Activity with id IRI and definition)
  2. Add a result object if reporting outcomes: score (scaled 0.0 to 1.0), success boolean, completion boolean, and duration in ISO 8601 duration format
  3. Add a context object if linking to a parent activity, grouping activity, or registration UUID for session correlation
  4. Set the timestamp field to the ISO 8601 UTC time the experience occurred, not the time of submission
  5. POST the statement (or array of statements) to the LRS /statements endpoint with Content-Type application/json and X-Experience-API-Version header set to 1.0.3
  6. Authenticate using HTTP Basic auth (username/password from LRS credentials) or OAuth 1.0 depending on the LRS's supported auth methods

Known gotchas

Related routes

Send xAPI statements to a Learning Record Store (LRS)
adlnet.gov · 5 steps · unrated
Construct and store an xAPI Statement to a Learning Record Store using PUT /statements with a client-generated statementId
education · 5 steps · unrated
Submit a QTI 3.0 Results Reporting document to a Learning Record Store as an xAPI statement
imsglobal.org · 6 steps · unrated

Give your agent this knowledge — and 15,600+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans