---
title: "Incremental change feed for a local store (exact cursor, grants envelope)"
method: GET
path: "/api/preview/sync/changes"
tags: ["sync"]
---

# Incremental change feed for a local store (exact cursor, grants envelope)

`GET /api/preview/sync/changes`

## Request

- Base URL: `https://symbol.chat` (the document declares no server; this is the origin it was published from)
- URL: `https://symbol.chat/api/preview/sync/changes`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Secure-next-auth.session-token`
  - OAuth 2
    - Authorization code: `https://mcp.symbol.chat/authorize`
    - Token URL: `https://mcp.symbol.chat/token`

## Query parameters

- `cursor` string: Opaque cursor from a previous changes response. Omit on first sync: the response then carries `resync: true` and the watermark to start from after a snapshot.
- `limit` integer: Page size (1..200, default 100). For the change feed this bounds the log rows examined; the page may hold fewer entries after filtering.

## Response `200`

Successful response

- object
  - `changes` object[], required
  - `cursor` string, required
  - `grants` object, required
    - `workspaces` object[], required
  - `hasMore` boolean, required
  - `resync` boolean, required
  - `retention_days` integer, required
  - `server_time` string, required

## Changes

- **2026-09-12** `74a5f960149b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/symbol/apis/symbol-api/changes/api/preview/sync/changes/get.md)

---

[API](https://skmtc.dev/symbol/apis/symbol-api.md) - [All operations](https://skmtc.dev/symbol/apis/symbol-api/llms.txt) - [OpenAPI document](https://skmtc.dev/symbol/apis/symbol-api/revisions/3a2c4ebeab51?raw)
