Review the IMS Caliper Analytics specification at https://www.imsglobal.org/spec/caliper/v1p2 to understand the Event data model; focus on AssessmentEvent and GradeEvent types for competency evidence
Initialize a Caliper sensor in your application using the application ID (a URL-based IRI), the endpoint URL of the LRS or event store, and the API key for authentication
Construct a GradeEvent JSON-LD object with actor (learner IRI), object (Assessment IRI), generated (Score or Result with scoreGiven and scoreCutting fields), eventTime, and membership (enrollment context)
POST a Caliper envelope to the event store endpoint: the envelope has sensor, sendTime, dataVersion (https://purl.imsglobal.org/spec/caliper/v1p2), and data (array of events) fields
To assert competency achievement, include a generated.extensions object with custom competency framework URI and competency node identifier; use the CEASN competency URI from the Credential Engine Registry if available
Query stored events via the event store's reporting API (LRS xAPI or Caliper-specific); use actor.id filter to retrieve all events for a specific learner
Known gotchas
Caliper 1.2 events require dataVersion https://purl.imsglobal.org/spec/caliper/v1p2; sending events with an older version string (v1p1) to a v1p2 endpoint may cause schema validation errors
Caliper does not define a standard query API; each event store (Learning Record Store) implements its own query interface—interoperability at the query layer requires agreeing on a shared LRS vendor or using xAPI alongside Caliper
The sensor ID must be a globally unique IRI; using a generic or non-unique IRI causes event provenance tracking failures when multiple applications share the same event store
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