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

GET /v1/changes/snapshot

Bootstrap an authorized metadata snapshot and a cursor for subsequent changes.

Request fields

LocationFieldTypeRequiredDescription
HeaderAuthorizationstringYesCredential scoped to the authorized resource.
QuerycursorstringNoOpaque next-page cursor from this snapshot.

Request example

Example request
GET /v1/changes/snapshot
Authorization: Bearer <scoped token>

HTTP status codes

StatusMeaning
200 OKSuccess response shown below.
400 Bad RequestInvalid snapshot cursor.
401 UnauthorizedMissing, expired, or invalid credential.
403 ForbiddenCredential is valid but lacks the required scope or role.
410 GoneSnapshot expired; restart from the first page.
429 Too Many RequestsRate limit reached; honor Retry-After when provided.
503 Service UnavailableService temporarily unavailable; retry safely.

Response fields

FieldTypeExample
snapshot_idstringsnap_123
itemsobject[][1 shown]
items[].idstringfile_789
items[].typestringfile
items[].parent_idstringfolder_123
items[].version_idstringver_012
next_cursorstring | nullnull
resume_cursorstringcursor_124

Response example

Example response
200 OK
Content-Type: application/json

{
  "snapshot_id": "snap_123",
  "items": [
    {
      "id": "file_789",
      "type": "file",
      "parent_id": "folder_123",
      "version_id": "ver_012"
    }
  ],
  "next_cursor": null,
  "resume_cursor": "cursor_124"
}

How it works

Pagination must represent one consistent snapshot. The final page alone provides a resume_cursor that starts strictly after the snapshot boundary; an expired snapshot returns 410 and must restart. This ordering is a release-blocking invariant.