Loading...
API Reference

One endpoint. Clear answers.

Send a campaign, get back a pass, warn, or block with links to the exact policy pages.

Verdict Types

pass

No policy issues found. Your campaign is clear to launch.

warn

Potential issues detected. Review the findings before proceeding. Your campaign can launch but may face enforcement.

block

Policy violation confirmed. Do not launch without fixing the flagged issues.

POST/v1/verdict

Check a campaign

Send 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

Request
{
  "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"
  }
}
Response
{
  "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"
}
FieldTypeRequiredDescription
campaign.titlestringYesCampaign title (1-200 chars)
campaign.categoriesstring[]YesAd categories (1-20). e.g. alcohol, gambling, healthcare
campaign.creative_textstringNoAd creative copy (max 5000 chars). Used for deeper analysis on ambiguous content.
campaign.landing_urlstringNoLanding page URL
targeting.platformsPlatform[]Yesgoogle, meta, tiktok, amazon, openai, dv360, gam, simplifi
targeting.countriesstring[]YesISO 3166-1 alpha-2 country codes
targeting.us_statesstring[]No2-letter US state codes (50 states + DC)
targeting.age_targetingenumNoall, 18+, or 21+. Default: all
targeting.special_ad_categoriesenum[]Nohousing, employment, credit, political
contextobjectNoOptional metadata: client_id, io_number
200Verdict returned successfully
400Validation error: request body failed validation
401Missing or invalid API key
429Rate limit exceeded