Understanding rate limits
Synacl runs on shared infrastructure, so each plan has limits that keep one tenant from starving everyone else. There are three gates:
1. Per-device publish interval
The minimum gap between two messages from one device. If your plan's interval is
1000 ms (1 Hz), a device that publishes twice in the same second has the second
message dropped.
Network hiccups are allowed for. If a connection stalls and several readings that were taken
far enough apart then arrive together, each message's own timestamp (ts) is used instead of
its arrival time, so they aren't dropped and don't count as violations. This only applies
when ts is a real clock time: no more than a few seconds in the future and no more than two
minutes old.
A reading that arrives after a newer one from the same device (delivered out of order) is
skipped without counting as a violation.
2. Aggregate tenant rate
A cap on messages per second across all your devices combined. If your aggregate
limit is 30 msg/s and 40 devices all publish in the same second, ~10 messages are dropped.
3. Per-device hourly cap (if set)
Some plans cap total messages per device per hour.
Worked example
On a plan with 1 Hz/device and 30 msg/s aggregate:
- 20 devices each publishing once per second = 20 msg/s → all delivered ✅
- 1 device publishing at 10 Hz = 9 of every 10 messages dropped ❌ (exceeds 1 Hz)
- 50 devices each at 1 Hz = 50 msg/s → ~20 msg/s dropped ❌ (exceeds aggregate)
Your Quota & limits page shows your plan's exact numbers and live usage.
What happens when you exceed them
Dropped messages are counted as violations:
- 1–5 violations → warning event
- 6–20 → error event + email
- 21+ → the device is automatically suspended (1h, then 6h, then 24h on repeat)
Suspensions lift automatically. Fix the publish rate, or upgrade your plan, to avoid them. See sizing your publish rate.