Offline sync

A per-collection change feed lets a client cache pull deltas incrementally — including deletions — so it can sync while offline and catch up on reconnect.

curl
# first sync: from cursor 0
curl "https://base.finiteskills.com/v1/databases/main/collections/notes/sync?cursor=0" -H "X-Appwrite-Project: <YOUR_PROJECT_ID>"

# later: pass the cursor from the previous response
curl "https://base.finiteskills.com/v1/databases/main/collections/notes/sync?cursor=1234" -H "X-Appwrite-Project: <YOUR_PROJECT_ID>"

The response is { cursor, hasMore, total, changes: [...] }. Each change has a kind (create/update/delete), the $id, a monotonic cursor, and — for non-deletes — the document. Store the returned cursor and pass it next time; keep calling while hasMore is true. Requires collection-level read access.