Setup moderation API with rate limiting and authentication
Overview
Build production-ready REST API for content moderation services.
Endpoints
POST /api/v1/moderate/text
{
"text": "Content to moderate",
"context": "comment",
"user_id": "12345"
}
Response:
{
"is_toxic": true,
"toxicity_score": 0.87,
"categories": ["insult", "profanity"],
"confidence": 0.92,
"action": "block"
}
POST /api/v1/moderate/image
Image upload with multipart form data
Security
- API key authentication
- Rate limiting: 1000 req/min per client
- Request signing with HMAC
- IP allowlisting
Infrastructure
- FastAPI + Uvicorn
- Redis for rate limiting
- PostgreSQL for audit logs
- Prometheus metrics
Acceptance Criteria
-
API documentation (OpenAPI spec) -
Rate limiting enforced -
Audit logging all moderation decisions -
99.9% uptime SLA