{
  "@context": {
    "@vocab": "https://botnotice.app/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "botnotice": "https://botnotice.app/schema#",
    "LawRecord": "botnotice:LawRecord",
    "id": {
      "@id": "botnotice:id",
      "@type": "xsd:string"
    },
    "slug": {
      "@id": "botnotice:slug",
      "@type": "xsd:string"
    },
    "url": {
      "@id": "botnotice:url",
      "@type": "xsd:string"
    },
    "jurisdiction": {
      "@id": "botnotice:jurisdiction",
      "@type": "xsd:string"
    },
    "jurisdiction_name": {
      "@id": "botnotice:jurisdiction_name",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "botnotice:name",
      "@type": "xsd:string"
    },
    "citation": {
      "@id": "botnotice:citation",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "botnotice:status",
      "@type": "xsd:string"
    },
    "effective_date": {
      "@id": "botnotice:effective_date",
      "@type": "xsd:string"
    },
    "applicability_note": {
      "@id": "botnotice:applicability_note",
      "@type": "xsd:string"
    },
    "summary": {
      "@id": "botnotice:summary",
      "@type": "xsd:string"
    },
    "who_must_comply": {
      "@id": "botnotice:who_must_comply",
      "@type": "xsd:string"
    },
    "applies_to": {
      "@id": "botnotice:applies_to",
      "@container": "@list"
    },
    "disclosure": {
      "@id": "botnotice:disclosure"
    },
    "other_duties": {
      "@id": "botnotice:other_duties",
      "@container": "@list"
    },
    "exemptions": {
      "@id": "botnotice:exemptions",
      "@container": "@list"
    },
    "penalties": {
      "@id": "botnotice:penalties",
      "@type": "xsd:string"
    },
    "enforcement": {
      "@id": "botnotice:enforcement",
      "@type": "xsd:string"
    },
    "private_right_of_action": {
      "@id": "botnotice:private_right_of_action",
      "@type": "xsd:boolean"
    },
    "sources": {
      "@id": "botnotice:sources",
      "@container": "@list"
    },
    "risk_weight": {
      "@id": "botnotice:risk_weight",
      "@type": "xsd:integer"
    },
    "last_verified": {
      "@id": "botnotice:last_verified",
      "@type": "xsd:string"
    },
    "ScanResult": "botnotice:ScanResult",
    "ok": {
      "@id": "botnotice:ok",
      "@type": "xsd:boolean"
    },
    "finalUrl": {
      "@id": "botnotice:finalUrl",
      "@type": "xsd:string"
    },
    "error": {
      "@id": "botnotice:error",
      "@type": "xsd:string"
    },
    "blocked": {
      "@id": "botnotice:blocked",
      "@type": "xsd:boolean"
    },
    "chatWidgets": {
      "@id": "botnotice:chatWidgets",
      "@container": "@list"
    },
    "voiceAgents": {
      "@id": "botnotice:voiceAgents",
      "@container": "@list"
    },
    "aiSignals": {
      "@id": "botnotice:aiSignals",
      "@container": "@list"
    },
    "disclosureFound": {
      "@id": "botnotice:disclosureFound",
      "@type": "xsd:boolean"
    },
    "disclosureSnippets": {
      "@id": "botnotice:disclosureSnippets",
      "@container": "@list"
    },
    "botnoticeInstalled": {
      "@id": "botnotice:botnoticeInstalled",
      "@type": "xsd:boolean"
    },
    "pagesChecked": {
      "@id": "botnotice:pagesChecked",
      "@type": "xsd:integer"
    },
    "cached": {
      "@id": "botnotice:cached",
      "@type": "xsd:boolean"
    },
    "cachedAt": {
      "@id": "botnotice:cachedAt",
      "@type": "xsd:string"
    },
    "ConsentCheck": "botnotice:ConsentCheck",
    "allowed": {
      "@id": "botnotice:allowed",
      "@type": "xsd:boolean"
    },
    "reason": {
      "@id": "botnotice:reason",
      "@type": "xsd:string"
    },
    "message": {
      "@id": "botnotice:message",
      "@type": "xsd:string"
    },
    "consent": {
      "@id": "botnotice:consent"
    },
    "policyVersion": {
      "@id": "botnotice:policyVersion",
      "@type": "xsd:integer"
    },
    "VoicePolicy": "botnotice:VoicePolicy",
    "business": {
      "@id": "botnotice:business",
      "@type": "xsd:string"
    },
    "language": {
      "@id": "botnotice:language",
      "@type": "xsd:string"
    },
    "timing": {
      "@id": "botnotice:timing",
      "@type": "xsd:string"
    },
    "repeatEveryHours": {
      "@id": "botnotice:repeatEveryHours",
      "@type": "xsd:integer"
    },
    "askForHuman": {
      "@id": "botnotice:askForHuman",
      "@type": "xsd:boolean"
    },
    "minorsNotice": {
      "@id": "botnotice:minorsNotice",
      "@type": "xsd:boolean"
    },
    "inProfile": {
      "@id": "botnotice:inProfile",
      "@type": "xsd:boolean"
    },
    "laws": {
      "@id": "botnotice:laws",
      "@container": "@list"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "BotNotice API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects BotNotice's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-02) from openapi/botnotice-app-openapi.json.",
  "dcterms:created": "2026-11-02",
  "dcterms:source": [
    "openapi/botnotice-app-openapi.json"
  ]
}