Skip to content
Launch GitLab Knowledge Graph

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