GraphQL Changelog – June 29

Pipes and Databases now expose their structure snapshots through the API, so callers can fetch the latest snapshot or a specific version.

Added:

  • The field snapshot is available on Pipe and Table (both implement the Repo interface). It returns a point-in-time RepoSnapshot of the Repo versioned structure.
    • versionId: ID (optional) — the snapshot version to fetch. When omitted, the latest snapshot is returned.
    • Returns a RepoSnapshot with id, versionId, signedUrl (temporary download URL, null while pending), uploadedAt, and createdAt. Null when the Repo has no matching snapshot.
  • The field snapshots is available on Pipe and Table. It returns the list of all RepoSnapshots of the Repo, most recent first (empty list when there are none).

Notes:

  • Both fields are gated by the enable_repo_snapshot_create feature flag (the same flag that controls the createRepoSnapshot mutation). While the flag is off for an organization, the fields are not present in the schema for that caller.
  • The field requires Repo admin permission (manage). A caller without it receives a PERMISSION_DENIED error and a null snapshot.
  • A versionId that does not belong to the queried Pipe/Database resolves to null; it does not leak snapshots across Repos.