Loading documentation…
Loading documentation…
Bound delivery, stream consumption, replay and customer recovery work.
These are current implementation limits, not a delivery SLA or a production capacity promise. Events must be enabled explicitly. Retention can shorten what is recoverable; a deadline is not a promise that every attempt succeeds before it.
| Area | Current bound |
|---|---|
| Endpoints | 10 per Project |
| Request/event body | 16 KiB for bounded webhook input/output contracts |
| Webhook attempt | 10-second overall deadline; DNS 2 seconds, connect/TLS 3 seconds |
| Receiver response | At most 64 KiB read; no redirects or decompression |
| Delivery window | At most 20 attempts / 24 hours, within payload lifetime |
| Dispatch concurrency | 2 per endpoint, 8 per Customer, 32 per deployment |
| Manual redrive | Fewer than 3 previous redrives; 5 accepted redrives per endpoint/minute |
| Synthetic tests | 5 per endpoint/minute |
| Management mutations | Shared 30-request/minute Customer budget, including admitted invalid/replayed requests |
| Secret overlap | 24 hours |
| Event payload | 7 days after projection, bounded by 30 days after occurrence |
| Delivery/attempt metadata | 30 days; metadata is not retained payload |
| Working delivery body | Initial 24-hour window or event expiry, whichever is earlier; eligible redrive can recover exact still-retained event bytes |
| Receipt/dedup recovery horizon | At least 35 days, subject to approved backup/replay policy |
| Collection pages | Generally 1–100 items, default 50; use each operation's schema |
| Management/recovery page cursor | Fixed collection/filter binding; one-hour expiry |
| SSE lifetime | 30 minutes, with graceful replacement/reconnect |
| SSE heartbeat | Approximately 15 seconds; comments are not business events |
Client bounds matter too. Keep one dashboard stream for a selected active Project, a finite dedup cache, bounded line/frame buffers, bounded page recovery and finite automatic reconnect attempts. Slow consumers may be disconnected and must resume from the last applied cursor. All Projects uses aggregate read APIs and manual refresh, not one stream per Project.
Treat quota denials as explicit backpressure. Do not multiply connections or Credentials to defeat a limit. Report reproducible failures with request IDs through support, without sending tokens, signing secrets, cursors or raw payloads.