Get your first moderation workflow running in 5 minutes
Navigate to Sites
Create a New Site
Save Your Site ID
curl -X POST https://api.pixelpatrol.net/functions/v1/submit-media \ -H "Content-Type: application/json" \ -d '{ "api_key": "site_xxxxxxxxxxxxxxxxxxxx", "content_url": "https://example.com/image.jpg", "app_media_id": "user-upload-123", "metadata": { "user_id": "user123", "context": "profile_photo" } }'
const checkStatus = async (mediaId) => { const response = await fetch( "https://api.pixelpatrol.net/functions/v1/get-media-status", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ api_key: "site_xxxxxxxxxxxxxxxxxxxx", media_id: mediaId, }), } ); const result = await response.json(); if (result.status === "completed") { console.log("Moderation result:", result.moderationResult); console.log("Action:", result.action); // 'approve', 'block', or 'review' } };
// Example webhook handler app.post("/webhook/moderation", (req, res) => { // Verify webhook signature const signature = req.headers["x-pixelpatrol-signature"]; if (!verifyWebhookSignature(req.body, signature, WEBHOOK_SECRET)) { return res.status(401).send("Invalid signature"); } const { mediaId, status, moderationResult, action } = req.body; // Handle the moderation result if (action === "block") { // Remove or hide the content blockContent(mediaId); } else if (action === "review") { // Flag for manual review flagForReview(mediaId); } res.status(200).send("OK"); });