INTELICA Developer API
The INTELICA Public API enables Discord bot developers and community architects to query our global threat intelligence registry and run real-time automod evaluations against messages directly within external Discord bots.
Strict Security & Zero Mutation: The Developer API is read-only and stateless. It does not require API keys for public lookups, never exposes internal environment variables or server credentials, and does not allow external parties to modify server databases.
Base URL & Security Model
All v1 API requests are served over HTTPS with standard JSON payloads:
Public read endpoints (Blacklist checks, Automod scanner, System statistics) require no authorization headers. CORS headers (Access-Control-Allow-Origin: *) are pre-configured to allow integrations from any server or browser runtime.
Rate Limits & Response Format
The public developer API operates a high-capacity tier of 60 requests per minute per origin IP. Responses are formatted as standard JSON with an explicit success boolean.
| Status Code | Meaning | Description |
|---|---|---|
200 OK |
Success | Request evaluated and data returned successfully. |
400 Bad Request |
Validation Error | Invalid parameters (e.g. malformed Discord Snowflake ID or empty content). |
500 Server Error |
Internal Error | Server encountered an error processing query. |
Check User ID
Queries whether a specific Discord user ID exists in the INTELICA global blacklist database.
Path Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| userId | String | Required | 16 to 22 digit Discord Snowflake User ID. |
Example Request & Response
curl -X GET "https://teamintelica.com/api/v1/blacklist/check/123456789012345678"
Response Payload (User Blacklisted)
{
"success": true,
"blacklisted": true,
"data": {
"userId": "123456789012345678",
"userName": "RaidLeader",
"reason": "Mass DM spam and raid coordination",
"sanctionId": "SAN-84920",
"addedAt": "2026-08-20T18:32:00.000Z"
}
}
Response Payload (User Clean)
{
"success": true,
"blacklisted": false,
"data": null
}
Query Blacklist Registry
Retrieve paginated records of verified malicious accounts from the INTELICA intelligence core.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| page | Integer | 1 |
Page number to retrieve. |
| limit | Integer | 25 |
Number of entries per page (max 100). |
| search | String | "" |
Search query matching User ID or username. |
Example Request
curl -X GET "https://teamintelica.com/api/v1/blacklist?page=1&limit=10"
Scan Message Content
Pass raw message text through INTELICA's content moderation engine. Evaluates against profanity, racial slurs, extremism, homophobic slurs, custom keyword rules, and all-caps heuristics.
Request Body
| Field | Type | Status | Description |
|---|---|---|---|
| content | String | Required | The raw message content to evaluate (max 4000 characters). |
| categories | Array<String> | Optional | Filter categories to evaluate. Options: "swearWords", "racialSlurs", "extremism", "homophobicLanguage". Defaults to all. |
| customWords | Array<String> | Optional | Array of custom blocked words or phrases specific to your bot. |
| checkAllCaps | Boolean | Optional | Whether to evaluate excessive capitalization ratio (default: false). |
| allCapsThreshold | Integer | Optional | Percentage threshold (e.g. 70) required to trigger caps violation. |
Example Request Payload
curl -X POST "https://teamintelica.com/api/v1/automod/scan" \
-H "Content-Type: application/json" \
-d '{
"content": "Join our community today!",
"categories": ["swearWords", "racialSlurs", "extremism", "homophobicLanguage"],
"checkAllCaps": true,
"allCapsThreshold": 70
}'
Response Payload (Flagged)
{
"success": true,
"flagged": true,
"recommendedAction": "mute",
"violations": [
{
"category": "Extremism",
"matched": "extremist phrase",
"severity": "critical"
}
],
"metadata": {
"scannedAt": "2026-08-25T16:30:00.000Z",
"charactersCount": 38,
"capsPercentage": 14
}
}
Network Overview & API Health
Retrieve live intelligence telemetry across the entire INTELICA network.
{
"success": true,
"stats": {
"blacklistedThreats": 142,
"protectedGuilds": 18,
"approvedReviews": 12,
"version": "v1.2.0",
"engineStatus": "operational"
}
}
Discord.js (v14) Implementation
A complete, plug-and-play Discord.js v14 example integrating both the Blacklist Gatekeeper on member join and the Automod Scanner on incoming messages:
const { Client, GatewayIntentBits, PermissionFlagsBits } = require('discord.js');
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent
]
});
// 1. BLACKLIST PROTECTION ON MEMBER JOIN
client.on('guildMemberAdd', async (member) => {
try {
const res = await fetch(`https://teamintelica.com/api/v1/blacklist/check/${member.id}`);
const data = await res.json();
if (data.success && data.blacklisted) {
console.log(`[INTELICA ALERT] Blacklisted user joined: ${member.user.tag} (${member.id})`);
// Auto-ban blacklisted raider/malicious actor
await member.ban({
reason: `[INTELICA Global Blacklist] ${data.data.reason}`
});
console.log(`Successfully banned ${member.user.tag} from guild.`);
}
} catch (err) {
console.error('Error verifying user against INTELICA blacklist:', err);
}
});
// 2. AUTOMOD SCANNER ON MESSAGE CREATE
client.on('messageCreate', async (message) => {
if (message.author.bot || !message.guild) return;
try {
const res = await fetch('https://teamintelica.com/api/v1/automod/scan', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
content: message.content,
categories: ['swearWords', 'racialSlurs', 'extremism', 'homophobicLanguage'],
checkAllCaps: true,
allCapsThreshold: 75
})
});
const result = await res.json();
if (result.success && result.flagged) {
// Delete violating message
await message.delete().catch(() => {});
// Apply recommended action
if (result.recommendedAction === 'mute' || result.recommendedAction === 'ban') {
const timeoutMs = 10 * 60 * 1000; // 10 minutes timeout
await message.member.timeout(timeoutMs, `[INTELICA Automod] ${result.violations[0].category}`);
}
await message.channel.send({
content: `⚠️ <@${message.author.id}>, your message was removed for violating community standards (${result.violations[0].category}).`
});
}
} catch (err) {
console.error('Error running INTELICA automod scanner:', err);
}
});
client.login(process.env.DISCORD_BOT_TOKEN);
Discord.py (v2) Implementation
A complete Python example using discord.py and aiohttp for asynchronous blacklist checking and automod message filtering:
import discord
import aiohttp
import os
from datetime import timedelta
intents = discord.Intents.default()
intents.members = True
intents.message_content = True
client = discord.Client(intents=intents)
# 1. BLACKLIST PROTECTION ON MEMBER JOIN
@client.event
async def on_member_join(member):
async with aiohttp.ClientSession() as session:
url = f"https://teamintelica.com/api/v1/blacklist/check/{member.id}"
async with session.get(url) as response:
if response.status == 200:
data = await response.json()
if data.get("success") and data.get("blacklisted"):
reason = data["data"].get("reason", "Malicious activity")
print(f"[INTELICA ALERT] Blacklisted user {member} joined. Banning...")
await member.ban(reason=f"[INTELICA Global Blacklist] {reason}")
# 2. AUTOMOD SCANNER ON MESSAGE
@client.event
async def on_message(message):
if message.author.bot or not message.guild:
return
async with aiohttp.ClientSession() as session:
url = "https://teamintelica.com/api/v1/automod/scan"
payload = {
"content": message.content,
"categories": ["swearWords", "racialSlurs", "extremism", "homophobicLanguage"],
"checkAllCaps": True,
"allCapsThreshold": 75
}
async with session.post(url, json=payload) as response:
if response.status == 200:
result = await response.json()
if result.get("success") and result.get("flagged"):
await message.delete()
violations = result.get("violations", [])
category = violations[0]["category"] if violations else "Content Violation"
if result.get("recommendedAction") in ["mute", "ban"]:
try:
await message.author.timeout(timedelta(minutes=10), reason=f"[INTELICA Automod] {category}")
except Exception as e:
print(f"Could not timeout member: {e}")
await message.channel.send(
f"⚠️ {message.author.mention}, your message was removed for violating safety filters ({category}).",
delete_after=10
)
client.run(os.getenv("DISCORD_BOT_TOKEN"))