Send a Caliper 1.2 Event from a sensor to an analytics endpoint
domain: education · 4 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Build an Event JSON-LD object with the required properties id (a UUID as urn:uuid:...), type (e.g. NavigationEvent), actor (typically a Person with id and type), action (a single controlled-vocabulary term such as NavigatedTo), object (an Entity with id and type), and eventTime (millisecond-precision ISO 8601 UTC), setting @context to http://purl.imsglobal.org/ctx/caliper/v1p2.
Wrap one or more Event/Entity objects in an Envelope containing sensor (an IRI identifying the sensor), sendTime (millisecond-precision ISO 8601 UTC), dataVersion set to the same Caliper context IRI, and data (an array of the Event/Entity objects).
POST the Envelope as a single JSON document to the target analytics endpoint over TLS, with Content-Type: application/json and an Authorization: Bearer <token> header.
Handle the endpoint's response codes: 2xx on success; 400 for a malformed/incomplete Envelope; 401 for missing/invalid auth; 415 if Content-Type isn't application/json; 422 if dataVersion isn't supported.
Known gotchas
Exactly one action term is allowed per Event, and it must come from Caliper's controlled Action vocabulary rather than a free-text verb.
The Envelope's dataVersion and every event/entity's @context must both be the exact Caliper v1.2 context IRI or the endpoint can reject the payload with 422.
The spec requires transmission via POST specifically, not PUT or GET.
Give your agent this knowledge — and 15,500+ 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?