No-Code API vs. Lua SDK vs. AI Assistant
Three ways to build custom detections.
Wire up existing FiveM events visually, call Parity straight from your own Lua, or just describe the rule to an AI assistant and let it build the rule for you. Same actions, same enforcement pipeline — pick what fits your workflow.
No-Code API
Custom API Rules
Connect FiveM events to Parity actions with a visual node editor in the dashboard. No Lua required — pick a trigger, gate it behind a check against your own resource, add up to 5 actions.
Best for
Wiring up existing events without writing code, or letting an admin without Lua experience build and toggle rules themselves.
Lua SDK
Server-side exports
Call Parity directly from your own resources. Four exports cover the entire pipeline: capture evidence, then log, kick, or ban — with full control over when and why.
Best for
Embedding checks directly inside scripts you already maintain, or logic too custom for a visual editor (loops, your own database, third-party APIs).
AI Assistant
Parity MCP
Describe the rule in plain English to Claude, Cursor, or any MCP-capable assistant. It builds a No-Code rule for you through the same API the dashboard uses — you just review and switch it on.
Best for
Server owners who don't want to hand-build the rule at all — including one-shot tools that whitelist a false positive or collapse twenty rules into one catch-all check.
“I'm not a developer”
→ No-Code API
Click through the node editor in Configuration → Custom API Rules. No Lua, no restart.
“I already maintain Lua resources”
→ Lua SDK
Call sdk_ban / sdk_kick / sdk_log straight from the script you already have open.
“I'd rather just describe what I want”
→ AI Assistant
Tell your assistant what to whitelist or enforce — it writes the No-Code rule through the API.
Every action, both ways.
No-Code flow
Event Handler
myServer:illegalWeapon · Params: weaponName
Export Check
myScript:IsPlayerCheating(source, weaponName)
Ban Player
Reason: "Illegal weapon: [weaponName]" · Screenshot + video
Lua SDK
Citizen.CreateThread(function()
local evidence = exports["parity_anticheat"]:sdk_captureEvidence(source, {
captureScreenshot = true,
captureVideo = true,
})
exports["parity_anticheat"]:sdk_ban(source, "Cheating", {
reason = "Aimbot detected",
info = "Detected during combat",
}, {
detectionType = "aimbot",
captureScreenshot = false,
screenshotMediaId = evidence and evidence.screenshotMediaId or nil,
videoMediaId = evidence and evidence.videoMediaId or nil,
})
end)The AI Assistant isn't a fourth pipeline — it drafts and saves a rule in the No-Code API column above through the same public API the dashboard uses.