Send a campaign, get back a pass, warn, or block with links to the exact policy pages.
No policy issues found. Your campaign is clear to launch.
Potential issues detected. Review the findings before proceeding. Your campaign can launch but may face enforcement.
Policy violation confirmed. Do not launch without fixing the flagged issues.
/v1/verdictSend a campaign to Lawspeaker and get back a pass, warn, or block for each platform and jurisdiction you selected. Every finding links to the exact policy page behind it, plus recommendations for what to fix.
Auth: API key via x-api-key header or Bearer token
{
"campaign": {
"title": "Summer Beverage Launch",
"description": "Lightweight refreshment campaign",
"categories": ["alcohol", "beverage"],
"creative_text": "Lightweight refreshment for active lifestyles",
"landing_url": "https://example.com"
},
"targeting": {
"platforms": ["google", "meta", "tiktok"],
"countries": ["US"],
"us_states": ["CA", "NY"],
"age_targeting": "21+"
},
"context": {
"client_id": "client_abc",
"io_number": "MDM-2026-008841"
}
}{
"verdict": "warn",
"evaluated_at": "2026-08-10T14:32:00Z",
"platforms": {
"google": {
"verdict": "warn",
"issues": [{
"severity": "warning",
"code": "ALCOHOL_CREATIVE_AMBIGUITY",
"message": "Creative implies beverage; may trigger alcohol policy",
"policy_url": "https://support.google.com/adspolicy/answer/6012277",
"verified_at": "2026-07-15T00:00:00Z"
}]
},
"meta": {
"verdict": "warn",
"issues": [{
"severity": "warning",
"code": "SPECIAL_AD_CATEGORY_REQUIRED",
"message": "Alcohol category requires Special Ad Category declaration",
"policy_url": "https://www.facebook.com/policies/ads",
"verified_at": "2026-07-20T00:00:00Z"
}]
},
"tiktok": {
"verdict": "block",
"issues": [{
"severity": "block",
"code": "ALCOHOL_RESTRICTED",
"message": "Alcohol advertising restricted on TikTok",
"policy_url": "https://ads.tiktok.com/help/article/alcohol",
"verified_at": "2026-07-01T00:00:00Z"
}]
}
},
"recommendations": [
"Declare Special Ad Category on Meta before launch",
"Remove alcohol category or use non-beverage creative",
"TikTok: switch to brand awareness without product imagery"
],
"audit_id": "550e8400-e29b-41d4-a716-446655440000"
}| Field | Type | Required | Description |
|---|---|---|---|
| campaign.title | string | Yes | Campaign title (1-200 chars) |
| campaign.categories | string[] | Yes | Ad categories (1-20). e.g. alcohol, gambling, healthcare |
| campaign.creative_text | string | No | Ad creative copy (max 5000 chars). Used for deeper analysis on ambiguous content. |
| campaign.landing_url | string | No | Landing page URL |
| targeting.platforms | Platform[] | Yes | google, meta, tiktok, amazon, openai, dv360, gam, simplifi |
| targeting.countries | string[] | Yes | ISO 3166-1 alpha-2 country codes |
| targeting.us_states | string[] | No | 2-letter US state codes (50 states + DC) |
| targeting.age_targeting | enum | No | all, 18+, or 21+. Default: all |
| targeting.special_ad_categories | enum[] | No | housing, employment, credit, political |
| context | object | No | Optional metadata: client_id, io_number |