Understand and implement proper rate limiting and backoff strategies for Customer.io API to handle high-volume operations reliably.
| Endpoint | Limit | Window |
|---|---|---|
| Identify | 100 requests/second | Per workspace |
| Track events | 100 requests/second | Per workspace |
| Batch operations | 100 requests/second | Per workspace |
| Endpoint | Limit | Window |
|---|---|---|
| Transactional email/push | 100/second | Per workspace |
| API queries | 10/second | Per workspace |
Build a rate limiter with configurable tokens per second, automatic refill, and async waiting when tokens are depleted.
Create retry logic with configurable max retries, base delay, max delay, and jitter factor. Skip retries on client errors (4xx except 429).
Wrap the Customer.io client to acquire a rate limit token before each request and apply backoff on failures.
Parse X-RateLimit-Remaining, X-RateLimit-Reset, and Retry-After headers to adapt dynamically.
Use p-queue with interval-based rate limiting for cleaner high-volume processing.
For detailed implementation code, load the reference guide:
Read(${CLAUDE_SKILL_DIR}/references/implementation-guide.md)
| Scenario | Action |
|---|---|
| 429 received | Respect Retry-After header |
| Burst traffic | Use queue with concurrency limit |
| Sustained high volume | Implement sliding window |
After implementing rate limits, proceed to customerio-security-basics for security best practices.
See API implementation details for output format specifications.
Basic usage: Apply customerio rate limits to a standard project setup with default configuration options.
Advanced scenario: Customize customerio rate limits for production environments with multiple constraints and team-specific requirements.