/developers
Developer docsAtom Files ↗
← API referenceChanges & events · API access unavailable
API REFERENCE / CHANGES

GET /v1/changes

Resume authorized metadata changes from a cursor. Webhooks provide prompt notification; the feed is the recovery path if an event is missed.

Request fields

LocationFieldTypeRequiredDescription
HeaderAuthorizationstringYesCredential scoped to the authorized resource.
QuerycursorstringNoOpaque checkpoint; omit for an authorized initial snapshot.

Request example

Example request
GET /v1/changes?cursor=cursor_123
Authorization: Bearer <scoped token>

HTTP status codes

StatusMeaning
200 OKSuccess response shown below.
400 Bad RequestMalformed cursor.
401 UnauthorizedMissing, expired, or invalid credential.
403 ForbiddenCredential is valid but lacks the required scope or role.
410 GoneReplay history expired; obtain a fresh authorized snapshot.
429 Too Many RequestsRate limit reached; honor Retry-After when provided.
503 Service UnavailableService temporarily unavailable; retry safely.

Response fields

FieldTypeExample
itemsobject[][1 shown]
items[].idstringchange_234
items[].typestringfile.available
items[].file_idstringfile_789
items[].version_idstringver_012
next_cursorstringcursor_124

Response example

Example response
200 OK
Content-Type: application/json

{
  "items": [
    {
      "id": "change_234",
      "type": "file.available",
      "file_id": "file_789",
      "version_id": "ver_012"
    }
  ],
  "next_cursor": "cursor_124"
}

How it works

Query parametercursorAn opaque checkpoint returned by an earlier page.
Access changesPermission removal must stop future access and remove the applicable local projection.
Replay gapAn expired cursor must signal that a fresh authorized snapshot is needed, not silently skip changes.

Cursor retention, ordering, event schema, and snapshot bootstrap are not specified yet.