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, andmanagedBy 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 runningshipd 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.