Skip to main content

Overview

Guardian API supports optional rate limiting using Redis (Upstash compatible). Rate limiting helps prevent API abuse and ensures fair usage.

Setup

1. Create Upstash Redis Database

  1. Create a free account at Upstash
  2. Create a new Redis database
  3. Copy the Redis URL from your dashboard

2. Configure Environment

Add to backend/.env:

3. Restart API

Rate limiting is now active!

Default Limits

Behavior

When Limit Exceeded

Response Code: 429 Too Many Requests Response Body:

Fail-Open Design

If Redis is unavailable:
  • API continues to work
  • Rate limiting is temporarily disabled
  • Warning logged but requests succeed
This fail-open design ensures the API remains available even if Redis has issues.

Custom Rate Limits

To customize rate limits, modify backend/app/core/rate_limit.py:

Monitoring

Check rate limit usage by monitoring Redis:

Disable Rate Limiting

To disable rate limiting, simply don’t set REDIS_URL in your .env file or remove it entirely.

See Also