List note changes since a cursor (keyset pagination)
const url = 'https://api.engram.page/notes/changes?since=example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.engram.page/notes/changes?since=example' \ --header 'Authorization: Bearer <token>'Returns one keyset-paginated page of note changes (creates, updates, deletes) updated at or after the since timestamp, including has_more and next_cursor. limit is capped at 500 and fields=meta omits note content. server_time is the high-water mark this page is complete through, so legacy clients can advance since without skipping rows.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”ISO8601 timestamp cursor
Max rows (<=500)
“meta” or “all”
Opaque pagination cursor
Responses
Section titled “Responses”Changes page
object
Note objects (content present only when fields=all).
object
OKF frontmatter description field
OKF frontmatter created/date field
OKF frontmatter timestamp/modified/updated field
Client mtime (epoch seconds)
Present when parse_status is “degraded”: {code, message, detail}
object
Frontmatter parse outcome
OKF frontmatter resource field
OKF frontmatter type field
Example
{ "changes": [ { "parse_status": "ok", "path": "Projects/engram.md" } ]}Invalid since/limit/fields/cursor