Code examples
A server-side call to /v1/moderate in several languages. Keep your key in an environment variable (MODWALL_KEY), never in your repository code.
curl -X POST https://modwall.dev/v1/moderate \ -H "Authorization: Bearer $MODWALL_KEY" \ -F "image=@zdjecie.jpg"
import os, requests
with open("zdjecie.jpg", "rb") as f:
r = requests.post(
"https://modwall.dev/v1/moderate",
headers={"Authorization": f"Bearer {os.environ['MODWALL_KEY']}"},
files={"image": f},
timeout=15,
)
data = r.json()
if data["decision"] == "block":
... # odrzuć upload
import fs from "node:fs";
const fd = new FormData();
fd.append("image", new Blob([fs.readFileSync("zdjecie.jpg")]), "zdjecie.jpg");
const r = await fetch("https://modwall.dev/v1/moderate", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.MODWALL_KEY}` },
body: fd,
});
const data = await r.json();
if (data.decision === "block") {
// odrzuć upload
}
$ch = curl_init("https://modwall.dev/v1/moderate");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("MODWALL_KEY")],
CURLOPT_POSTFIELDS => ["image" => new CURLFile("zdjecie.jpg")],
]);
$data = json_decode(curl_exec($ch), true);
if ($data["decision"] === "block") {
// odrzuć upload
}
Report (reactive layer)
curl -X POST https://modwall.dev/v1/report \ -H "Authorization: Bearer $MODWALL_KEY" \ -F "reference=post-123"
The full list of fields and errors: API reference. Browser-side integration: Widget.