v1.2.0
Home Console Developer Support
Introduction

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.

Connection

Base URL & Security Model

All v1 API requests are served over HTTPS with standard JSON payloads:

BASE URL https://teamintelica.com/api/v1

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.

Usage

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.
Blacklist Intelligence

Check User ID

Queries whether a specific Discord user ID exists in the INTELICA global blacklist database.

GET /api/v1/blacklist/check/:userId

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)

200 OK — Application/JSON
{
  "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)

200 OK — Application/JSON
{
  "success": true,
  "blacklisted": false,
  "data": null
}
Blacklist Intelligence

Query Blacklist Registry

Retrieve paginated records of verified malicious accounts from the INTELICA intelligence core.

GET /api/v1/blacklist?page=1&limit=25&search=query

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 Request
curl -X GET "https://teamintelica.com/api/v1/blacklist?page=1&limit=10"
Automod Engine

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.

POST /api/v1/automod/scan

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)

200 OK — Flagged Content
{
  "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 Statistics

Network Overview & API Health

Retrieve live intelligence telemetry across the entire INTELICA network.

GET /api/v1/stats
Example Response
{
  "success": true,
  "stats": {
    "blacklistedThreats": 142,
    "protectedGuilds": 18,
    "approvedReviews": 12,
    "version": "v1.2.0",
    "engineStatus": "operational"
  }
}
Bot Integration

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:

bot.js (Discord.js v14)
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);
Bot Integration

Discord.py (v2) Implementation

A complete Python example using discord.py and aiohttp for asynchronous blacklist checking and automod message filtering:

bot.py (Discord.py v2)
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"))