Build a OneRoster 1.2 REST delta sync that detects created, updated, and deleted orgs, users, classes, and enrollments using dateLastModified filtering and status field checks
Store the ISO 8601 timestamp of the last successful sync run in durable storage
GET /orgs, /users, /classes, /enrollments with filter=dateLastModified>'{last_sync_ts}' and fields=sourcedId,status,dateLastModified
For records with status=tobedeleted, remove or deactivate them in your local store; do not treat missing records as deleted without explicit tobedeleted status
For active records returned by the filter, fetch full detail with a targeted GET /users/{sourcedId} call or use the fields parameter on the filtered request
Upsert local records using sourcedId as the stable key; update dateLastModified in your local copy
Advance the stored sync timestamp to the latest dateLastModified seen in the response, not to wall-clock now
Known gotchas
The dateLastModified filter uses a provider-specific comparison operator; test whether the provider uses strict greater-than or greater-than-or-equal to avoid missing records on boundary timestamps
Some providers reset sourcedIds when re-creating a deleted record; treat a sourcedId reuse as a new record if dateLastModified is earlier than your stored value
Enrollments reference class and user sourcedIds that may not yet be in your local store if the order of endpoint polling differs; process orgs, then users and classes, then enrollments
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