Rate limits
Per-minute request limits for the RevenueHog SDK, enrollment, API key, session and mobile endpoints, how 429 responses look, and how clients should back off.
Every limit is a fixed one-minute window. Over a limit, the response is 429 with { "error": "rate_limited" } and a retry-after header in seconds.
| Endpoint | Limit | Keyed by |
|---|---|---|
| SDK writes with a device token | 240 per minute | Workspace |
| SDK writes without a device token | 30 per minute | Client IP and bundle ID |
POST /api/sdk/v1/attest/challenge | 10 per minute | Client IP |
POST /api/sdk/v1/attest | 10 per minute | Client IP |
POST /api/v1/feedback (API key) | 240 per minute | Workspace |
Mobile session endpoints such as /api/mobile/paywall | 120 per minute | User |
SDK writes are identify, attribute, events, feedback, adservices, paywall and paywall impression.
Fail-open
Limits are enforced at the edge. If the limiter is unavailable, requests are allowed rather than rejected.
Client guidance
- Honor
retry-after. - Call
identifyat launch, at login and when attributes change, not on every screen. - Batch events (up to 50 per request).
- The SDKs back off and queue automatically.
Related
Last updated on
Errors
Every HTTP status and error body the RevenueHog APIs return, what each one means, and whether your client should fix the request, retry with backoff or drop it.
AI and MCP
Ask Claude, Cursor or any MCP client about your revenue, subscriptions, reviews, feedback and payouts through the RevenueHog MCP server and Claude skills.