Skip to main content

Overview

A snapshot contains the flag values, targeting rules, and audiences the SDK needs to evaluate flags for one environment. SDKs download it automatically; you do not need to build or publish it yourself. Snapshots exclude audit logs, credentials, tags, and managedBy metadata. Targeting rules are included, so avoid putting secrets in rules or flag values.

Shape

version increases per environment, independently of each flag’s version. Use it to check whether an application has received a recent configuration change.

Receive a new snapshot

Saving a flag in the dashboard or running shipd push publishes the updated configuration automatically. SDKs fetch changes through polling or, for TypeScript clients with streaming enabled, after an update notification. Publication and refresh can take time. If your application still serves an older value, start with Troubleshooting. If a publication failed, see Publish a snapshot.

SDK rules

  • Fetch current snapshot only (no replay of versions 11–14 if you jumped 10 → 15)
  • Ignore HTTP bodies with version < local (no rollback)
  • After an update notification, retry until the notified version is available, then keep the last good snapshot if refresh fails
  • Unsupported schemaVersion → onError, keep last good
ETag: "snapshot-<version>". Send If-None-Match to get 304.

Next