{% extends "base.html" %} {% block title %}API Documentation - AutoModerate{% endblock %} {% block scripts %} {% endblock %} {% block content %}
The AutoModerate API provides programmatic access to content moderation services. All endpoints require authentication via API keys.
{{ request.host_url.rstrip('/') }}/api
All API requests require authentication using an API key in the request headers.
X-API-Key: your-api-key-here
am_)| Method | Endpoint | Description | Authentication |
|---|---|---|---|
| POST | /api/moderate |
Moderate content | Required |
| GET | /api/health |
Check API status | None |
| GET | /api/docs |
API documentation | None |
POST /api/moderate{
"type": "text",
"content": "Your content to moderate",
"metadata": {
"user_id": "user123",
"source": "web"
}
}
{
"type": "text",
"content": "Your content to moderate",
"metadata": {
"user_id": "user123",
"source": "web"
}
}
Including user_id in the metadata enables user-specific moderation tracking, stats, and review in the dashboard.
{
"success": true,
"content_id": "uuid-here",
"status": "approved|rejected|flagged",
"moderation_results": [
{
"decision": "rejected",
"confidence": 0.95,
"reason": "Content violates rule X",
"moderator_type": "rule",
"rule_id": "rule-uuid",
"rule_name": "Rule Name",
"processing_time": 1.23
}
]
}
{
"success": true,
"content_id": "uuid",
"status": "approved|rejected|flagged",
"moderation_results": [...],
"rule_matched": true,
"total_rules_checked": 5,
"fast_rules_checked": 2,
"ai_rules_checked": 3
}
{
"error": "Error message here",
"success": false
}
Include a user_id in the metadata to track individual users and their moderation history:
{
"type": "text",
"content": "Content to moderate",
"metadata": {
"user_id": "user123",
"source": "web"
}
}
This enables:
| Code | Description | Example |
|---|---|---|
| 200 | Success | Content moderated successfully |
| 400 | Bad Request | Missing required fields |
| 401 | Unauthorized | Invalid or missing API key |
| 403 | Forbidden | API key disabled or expired |
| 500 | Internal Server Error | Server processing error |
Here are examples of how to integrate with the AutoModerate API using different programming languages and tools:
import requests
url = "http://your-domain.com/api/moderate"
headers = {
"Content-Type": "application/json",
"X-API-Key": "am_your-api-key-here"
}
data = {
"type": "text",
"content": "Hello world!",
"metadata": {"user": "test123"}
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)
Connect to WebSocket for real-time moderation updates:
const socket = io('http://your-domain.com');
// Join project room
socket.emit('join_project', {project_id: 'your-project-id'});
// Listen for moderation updates
socket.on('moderation_update', function(data) {
console.log('New moderation result:', data);
});
{
"content_id": "uuid",
"project_id": "project-uuid",
"status": "approved|rejected|flagged",
"content_type": "text",
"content_preview": "Content preview...",
"meta_data": {"user": "user123"},
"results_count": 3,
"processing_time": 1.23,
"timestamp": "2025-01-01T12:00:00Z"
}