ZBStream

Rate Limits & Isolation

ZBStream controls request concurrency based on the application, API key, channel, and upstream provider status. Exact quotas follow the current service configuration.

How does ZBStream handle rate limiting?

When you receive HTTP 429, do not retry aggressively. Use exponential backoff with random jitter.

const delay = Math.min(30000, 1000 * 2 ** retryCount)
await new Promise(resolve => setTimeout(resolve, delay + Math.random() * 300))

User & Workload Isolation

Create separate API keys per environment, team, or workload so they can be revoked, audited, and metered independently. Never share a key across untrusted clients.

Request Keep-Alive

Prefer streaming for long responses and configure generous read timeouts on proxies, load balancers, and clients. Stop consuming the stream once the client disconnects.