Skip to main content
    NovaCopilot Open Decision APIs

    NovaCopilot Ad Eligibility API

    May we show this ad to this person, in this country, with this AI system?

    Returns a structured decision on whether an advertisement may be shown, the risk level and the controls required across the AI Act, GDPR, DSA and national marketing law.

    AI Act · GDPR · DSA · National marketing law · live demo

    Overview

    NovaCopilot Ad Eligibility API is part of the NovaCopilot Trust Layer. Input is evaluated against the NovaCopilot Trust Graph by the NovaCopilot Decision Engine and returned as structured JSON with sources. Status: live demo.

    Input

    country
    ISO code of an EU/EEA country
    age
    Age of the intended recipient, 0–120
    industry
    gaming, gambling, alcohol, retail, finance, health, media or education
    ad_type
    contextual, personalized or profiling
    ai_used
    Whether AI creates or targets the ad

    Output

    decision
    allowed, allowed_with_controls or not_allowed
    risk
    low, medium or high
    confidence
    Number between 0 and 1
    eligibility_status
    NovaCopilot Eligibility Graph: allowed, restricted, high_risk or not_allowed
    restrictions
    What may not be done for this input
    alternative_paths
    Lower-risk ways to reach the same goal
    applicable_regulations
    Regulations that apply to the input
    required_controls
    Controls required before going ahead
    summary
    Plain-language explanation
    reasoning_summary
    Plain-language explanation of the decision path
    affected_groups
    Groups affected, for example minors or adults
    sources
    NovaCopilot Trust Graph objects behind the decision: type, regulation, article, jurisdiction, effective date and official source link
    relevant_enforcement
    NovaCopilot Enforcement Intelligence: earlier supervisory decisions, fines, court decisions and guidance on similar conduct, with authority, date and source
    regulatory_signals
    Regulatory trends that affect the input

    Example Request

    POST /api/public/v1/eligibility

    {
      "country": "SE",
      "age": 15,
      "industry": "gaming",
      "ad_type": "personalized",
      "ai_used": true
    }

    Example Response

    {
      "decision": "not_allowed",
      "risk": "high",
      "confidence": 0.92,
      "eligibility_status": "not_allowed",
      "restrictions": [
        "No advertising based on profiling of minors on online platforms",
        "Prohibited: AI that exploits age-related vulnerabilities"
      ],
      "alternative_paths": [
        "Behavioural advertising towards minors is not permitted. Contextual advertising may be a lower-risk alternative.",
        "Restrict the campaign to verified adult audiences."
      ],
      "applicable_regulations": [
        "AI Act",
        "GDPR",
        "DSA",
        "National marketing law (SE)"
      ],
      "required_controls": [
        "Disclose AI involvement and label AI-generated content",
        "Serve contextual advertising only",
        "Disable profiling for minors",
        "Apply age assurance"
      ],
      "summary": "Advertising based on profiling is not permitted when the recipient is likely a minor.",
      "reasoning_summary": "The recipient is likely a minor and the ad relies on profiling, which the DSA prohibits on online platforms.",
      "affected_groups": [
        "minors"
      ],
      "sources": [
        {
          "id": "dsa.art28.2",
          "type": "Age Restriction",
          "regulation": "DSA",
          "reference": "Art. 28(2)",
          "title": "No profiling-based advertising to minors",
          "jurisdiction": "EU",
          "url": "https://eur-lex.europa.eu/eli/reg/2022/2065/oj",
          "effective_date": "2024-02-17"
        },
        {
          "id": "aiact.art5.1b",
          "type": "Risk Classification",
          "regulation": "AI Act",
          "reference": "Art. 5(1)(b)",
          "title": "Prohibited: AI exploiting vulnerabilities due to age",
          "jurisdiction": "EU",
          "url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj",
          "effective_date": "2025-02-02"
        }
      ],
      "relevant_enforcement": [
        {
          "id": "enf.ec.dsa.meta.2024",
          "type": "Enforcement Action",
          "title": "Formal DSA proceedings against Meta on minors",
          "authority": "European Commission",
          "country": "EU",
          "date": "2024-05-16",
          "url": "https://digital-strategy.ec.europa.eu/en/policies/dsa-enforcement",
          "summary": "Proceedings on whether Facebook and Instagram systems exploit minors' inexperience and on age assurance."
        },
        {
          "id": "enf.ie.dpc.tiktok.2023",
          "type": "Fine",
          "title": "TikTok: processing of children's personal data",
          "authority": "Data Protection Commission",
          "country": "IE",
          "amount": "EUR 345 million",
          "date": "2023-09-15",
          "url": "https://www.dataprotection.ie/en/news-media/latest-news",
          "summary": "Public-by-default settings for child accounts and design choices that nudged children towards less private options."
        }
      ],
      "regulatory_signals": [
        {
          "id": "trend.age-assurance",
          "title": "Age assurance is becoming an enforcement expectation",
          "summary": "Supervisors increasingly expect effective age assurance rather than self-declared age.",
          "date": "2025-07-14"
        }
      ]
    }

    Use Cases

    • Pre-flight checks in ad servers and demand-side platforms
    • Campaign approval in agencies
    • Guardrails for AI agents that create or buy ads
    • Consent and audience reviews in e-commerce

    OpenAPI Schema

    Machine-readable specification: /api/public/v1/openapi.json

    JSON Contract

    The response format is stable. Fields may be added, existing fields are not renamed or removed. Agent contract: /api/public/v1/agents/ad-eligibility

    Live demo

    Fill in the form to receive a structured decision in JSON.

    Illustrative decision · not legal advice

    Ask Nova a follow-up question

    The registry is large. The first answer can take a few seconds to load.

    Ask a regulatory questionFirst answer can take a few seconds.Ask Nova