How Syncs Work
- Poll — At each interval, Mixpeek lists files from your storage provider using the configured
source_pathand filters. - Filter — Files are matched against glob patterns, size limits, MIME types, and provider-specific metadata filters.
- Create objects — Matching files are registered in the target bucket. Duplicates are skipped by default via source tracking.
- Submit batches — Objects are grouped into batches and submitted to the bucket’s collection pipeline for processing.
- Checkpoint — A resume cursor is saved so the next poll picks up where the last one left off.
Sync Modes
Create a Sync
1
Connect your storage
Create a storage connection with credentials for your provider.This step needs an API key with the
admin permission, because connections hold credentials and sit behind organization administration. The key presets in Studio stop at read + write + delete; tick Admin in the key’s Edit dialog to grant it. Everything below (buckets, syncs, triggers) works with a write key.2
Configure the sync
3
Trigger the first sync
Configuration Reference
Core Settings
max_objects_per_run and description are accepted at create as well as on update. Both
were previously settable only by PATCHing a sync after creating it.File Filters
Narrow which files get synced. All filters combine with AND logic.Metadata Filters
Filter on provider-specific metadata fields. Useful for syncing only assets that match certain tags, statuses, or custom fields in your storage system.equals, not_equals, contains, not_contains, gt, lt, gte, lte, exists.
Schema Mapping
Map provider metadata to bucket schema fields during sync, so structured data arrives alongside your files.Lifecycle Management
Pause and Resume
Temporarily stop a sync without losing progress:Manual Trigger
Force a sync to run immediately, outside the polling schedule:Monitoring
Check sync status and metrics:Robustness
Syncs are designed for unattended, long-running operation:- Distributed locking prevents concurrent runs of the same sync
- Resume cursors checkpoint progress so interrupted syncs pick up where they left off
- Dead letter queue retries failed files up to 3 times before marking them as failed
- Auto-suspend pauses syncs after consecutive failures to prevent runaway errors
- Idempotent ingestion uses source tracking to never duplicate objects on retries
- Reconciliation (the
reconcileobject) cascades source deletes (on_delete), propagates metadata updates (on_update), and drops objects that no longer match your filters (on_filter_drift) — all defaulttrue

