Learn how to integrate Oracle Viewer's high-performance content moderation API using OpenAI's omni-moderation-latest model.
All API requests must include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
https://api.oracleviewer.com/v1/moderate/text
{
"request": {
"request_id": "unique-request-identifier",
"content": "text to moderate",
"categories": ["optional", "list", "of", "categories"]
}
}
Parameters:
request_id
- Optional client-provided request identifier for trackingcontent
- Text content to analyze (min 1 character, max 32MB)categories
- Optional list to filter results by specific categories (case-insensitive substring matching){
"risk_level": 0, // 0=none, 1=low, 2=medium, 3=high
"categories": [], // List of violated categories
"explanation": null, // Detailed explanation when violations detected
"model_used": "sentinel"
}
Risk Levels:
0
- No risk detected1
- Low risk (flagged, confidence < 0.5)2
- Medium risk (flagged, confidence 0.5-0.8)3
- High risk (flagged, confidence ≥ 0.8)curl -X POST https://api.oracleviewer.com/v1/moderate/text \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request": {
"request_id": "unique-request-identifier",
"content": "Your text content to moderate goes here",
"categories": ["optional", "list", "of", "categories"]
}
}'
Rate limits are applied per API key using Redis-based sliding window rate limiting (1,000 requests per minute).
Rate limit responses include detailed headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 2025-01-15T10:31:00
Retry-After: 60
All responses include detailed performance metrics:
X-Timing-Auth: 0.003
X-Timing-RateLimit: 0.001
X-Timing-Database: 0.005
X-Timing-OpenAI: 0.678
X-Timing-Concurrent: 0.680
X-Timing-Response: 0.002
429 Too Many Requests
response with detailed error information including current usage and reset time.Bad Request - Validation error with detailed message
Unauthorized - Authentication required
Request Entity Too Large - Text content exceeds 32MB limit
Too Many Requests - Rate limit exceeded with reset time
Service Unavailable - OpenAI API is currently unavailable
Internal Server Error - Unexpected server error
{
"detail": "Rate limit exceeded",
"error_type": "rate_limit_error",
"limit_type": "requests_per_minute",
"limit": 1000,
"current": 1001,
"reset_at": "2025-01-15T10:31:00"
}