Documentation Index
Fetch the complete documentation index at: https://docs.pixelpatrol.net/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This page provides complete webhook payload examples for various scenarios to help you understand and test your webhook integration.Media Created Examples
Image Submission
{
"event": "media.created",
"timestamp": "2024-01-15T14:30:00Z",
"data": {
"media_id": "123e4567-e89b-12d3-a456-426614174000",
"app_media_id": "profile-pic-12345",
"site_id": "98765432-dcba-4321-fedc-210987654321",
"status": "pending",
"content_type": "image",
"created_at": "2024-01-15T14:30:00Z",
"metadata": {
"user_id": "user-789",
"upload_source": "mobile_app",
"image_type": "profile_picture"
}
}
}
Text Submission
{
"event": "media.created",
"timestamp": "2024-01-15T15:00:00Z",
"data": {
"media_id": "456e7890-e89b-12d3-a456-426614174111",
"app_media_id": "comment-98765",
"site_id": "98765432-dcba-4321-fedc-210987654321",
"status": "pending",
"content_type": "text",
"created_at": "2024-01-15T15:00:00Z",
"metadata": {
"user_id": "user-456",
"comment_thread": "thread-123",
"platform": "web"
}
}
}
Media Moderated Examples
Content Approved
{
"event": "media.moderated",
"timestamp": "2024-01-15T14:35:00Z",
"data": {
"media_id": "123e4567-e89b-12d3-a456-426614174000",
"app_media_id": "profile-pic-12345",
"site_id": "98765432-dcba-4321-fedc-210987654321",
"status": "approved",
"previous_status": "pending",
"moderation_type": "ai",
"moderated_at": "2024-01-15T14:35:00Z",
"moderation_details": {
"ai_analysis": {
"adult": 0.02,
"violence": 0.01,
"hate": 0.00,
"self_harm": 0.00
},
"processing_time_ms": 1250
},
"metadata": {
"user_id": "user-789",
"upload_source": "mobile_app",
"image_type": "profile_picture"
}
}
}
Content Rejected - Adult Content
{
"event": "media.moderated",
"timestamp": "2024-01-15T16:00:00Z",
"data": {
"media_id": "789e0123-e89b-12d3-a456-426614174222",
"app_media_id": "upload-55555",
"site_id": "98765432-dcba-4321-fedc-210987654321",
"status": "rejected",
"previous_status": "pending",
"moderation_type": "ai",
"moderated_at": "2024-01-15T16:00:00Z",
"moderation_details": {
"rule_violations": [
{
"rule_id": "550e8400-e29b-41d4-a716-446655440000",
"rule_name": "No Adult Content",
"rule_type": "ai_threshold",
"confidence": 0.95,
"details": "Adult content detected with high confidence"
}
],
"ai_analysis": {
"adult": 0.95,
"violence": 0.10,
"hate": 0.05,
"self_harm": 0.02
},
"processing_time_ms": 1500
},
"metadata": {
"user_id": "user-123",
"upload_type": "post"
}
}
}
Content Rejected - Text Profanity
{
"event": "media.moderated",
"timestamp": "2024-01-15T17:30:00Z",
"data": {
"media_id": "abc12345-e89b-12d3-a456-426614174333",
"app_media_id": "comment-77777",
"site_id": "98765432-dcba-4321-fedc-210987654321",
"status": "rejected",
"previous_status": "pending",
"moderation_type": "rule",
"moderated_at": "2024-01-15T17:30:00Z",
"moderation_details": {
"rule_violations": [
{
"rule_id": "660e9500-e29b-41d4-a716-446655440111",
"rule_name": "Profanity Filter",
"rule_type": "keyword",
"confidence": 1.0,
"details": "Blocked word detected: [redacted]",
"matched_text": "f***"
}
],
"processing_time_ms": 50
},
"metadata": {
"user_id": "user-999",
"comment_thread": "thread-456"
}
}
}
Content Flagged for Review
{
"event": "media.moderated",
"timestamp": "2024-01-15T18:00:00Z",
"data": {
"media_id": "def45678-e89b-12d3-a456-426614174444",
"app_media_id": "post-88888",
"site_id": "98765432-dcba-4321-fedc-210987654321",
"status": "pending_review",
"previous_status": "pending",
"moderation_type": "ai",
"moderated_at": "2024-01-15T18:00:00Z",
"moderation_details": {
"reason": "Borderline content requiring human review",
"ai_analysis": {
"adult": 0.45,
"violence": 0.52,
"hate": 0.15,
"self_harm": 0.08
},
"flagged_categories": ["violence"],
"processing_time_ms": 1800
},
"metadata": {
"user_id": "user-555",
"content_type": "news_article"
}
}
}
Test Webhook Example
{
"event": "webhook.test.ping",
"timestamp": "2024-01-15T12:00:00Z",
"data": {
"site_id": "98765432-dcba-4321-fedc-210987654321",
"test": true,
"message": "This is a test webhook from Pixel Patrol"
},
"_pixelpatrol_signature": "sha256=a4771c3915c94f4b0d9c0f238a5c5d2e8f9b1e3d7a6c9f2b5e8d4a1c7e9f3b2a"
}
Webhook Headers
All production webhooks (non-test) include these headers:POST /your-webhook-endpoint HTTP/1.1
Host: your-domain.com
Content-Type: application/json
X-PixelPatrol-Signature: sha256=7d38cdd689735b008b3c702edd92eea23791c5f6
X-PixelPatrol-Event: media.moderated
X-PixelPatrol-Delivery-ID: 550e8400-e29b-41d4-a716-446655440000
User-Agent: PixelPatrol-Webhook/1.0
Testing with cURL
You can test your webhook endpoint using cURL:# Test webhook reception (without signature verification)
curl -X POST https://your-domain.com/webhook \
-H "Content-Type: application/json" \
-H "X-PixelPatrol-Event: media.created" \
-d '{
"event": "media.created",
"timestamp": "2024-01-15T14:30:00Z",
"data": {
"media_id": "123e4567-e89b-12d3-a456-426614174000",
"app_media_id": "test-123",
"site_id": "98765432-dcba-4321-fedc-210987654321",
"status": "pending",
"content_type": "image",
"created_at": "2024-01-15T14:30:00Z"
}
}'