{
  "@context": {
    "@vocab": "https://hempdata.io/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "hempdata": "https://hempdata.io/schema#",
    "Regulation": "hempdata:Regulation",
    "id": {
      "@id": "hempdata:id",
      "@type": "xsd:string"
    },
    "jurisdiction": {
      "@id": "hempdata:jurisdiction",
      "@type": "xsd:string"
    },
    "substance": {
      "@id": "hempdata:substance",
      "@type": "xsd:string"
    },
    "product_type": {
      "@id": "hempdata:product_type",
      "@type": "xsd:string"
    },
    "legal_status": {
      "@id": "hempdata:legal_status",
      "@type": "xsd:string"
    },
    "federal_status": {
      "@id": "hempdata:federal_status",
      "@type": "xsd:string"
    },
    "thc_limit_pct_dryweight": {
      "@id": "hempdata:thc_limit_pct_dryweight",
      "@type": "xsd:decimal"
    },
    "thc_limit_mg_per_serving": {
      "@id": "hempdata:thc_limit_mg_per_serving",
      "@type": "xsd:decimal"
    },
    "thc_limit_mg_per_container": {
      "@id": "hempdata:thc_limit_mg_per_container",
      "@type": "xsd:decimal"
    },
    "thc_measurement_method": {
      "@id": "hempdata:thc_measurement_method",
      "@type": "xsd:string"
    },
    "cbd_limit_mg_per_serving": {
      "@id": "hempdata:cbd_limit_mg_per_serving",
      "@type": "xsd:decimal"
    },
    "age_restriction": {
      "@id": "hempdata:age_restriction",
      "@type": "xsd:integer"
    },
    "age_verification_method": {
      "@id": "hempdata:age_verification_method",
      "@type": "xsd:string"
    },
    "labeling_required": {
      "@id": "hempdata:labeling_required",
      "@type": "xsd:boolean"
    },
    "warning_text_verbatim": {
      "@id": "hempdata:warning_text_verbatim",
      "@type": "xsd:string"
    },
    "testing_standard": {
      "@id": "hempdata:testing_standard",
      "@type": "xsd:string"
    },
    "testing_panels_required": {
      "@id": "hempdata:testing_panels_required",
      "@container": "@list"
    },
    "shipping_status": {
      "@id": "hempdata:shipping_status",
      "@type": "xsd:string"
    },
    "carrier_restrictions": {
      "@id": "hempdata:carrier_restrictions",
      "@container": "@list"
    },
    "license_required": {
      "@id": "hempdata:license_required",
      "@type": "xsd:boolean"
    },
    "license_type": {
      "@id": "hempdata:license_type",
      "@type": "xsd:string"
    },
    "enforcement_date": {
      "@id": "hempdata:enforcement_date",
      "@type": "xsd:date"
    },
    "enforcement_agency": {
      "@id": "hempdata:enforcement_agency",
      "@type": "xsd:string"
    },
    "penalty_range": {
      "@id": "hempdata:penalty_range",
      "@type": "xsd:string"
    },
    "source_urls": {
      "@id": "hempdata:source_urls",
      "@container": "@list"
    },
    "source_documents": {
      "@id": "hempdata:source_documents",
      "@container": "@list"
    },
    "plain_english": {
      "@id": "hempdata:plain_english",
      "@type": "xsd:string"
    },
    "block_sale": {
      "@id": "hempdata:block_sale",
      "@type": "xsd:boolean"
    },
    "effective_date": {
      "@id": "hempdata:effective_date",
      "@type": "xsd:date"
    },
    "expiry_date": {
      "@id": "hempdata:expiry_date",
      "@type": "xsd:date"
    },
    "related_bills": {
      "@id": "hempdata:related_bills",
      "@container": "@list"
    },
    "last_verified": {
      "@id": "hempdata:last_verified",
      "@type": "xsd:dateTime"
    },
    "verification_tier": {
      "@id": "hempdata:verification_tier",
      "@type": "xsd:string"
    },
    "confidence_score": {
      "@id": "hempdata:confidence_score",
      "@type": "xsd:decimal"
    },
    "legal_status_source": {
      "@id": "hempdata:legal_status_source",
      "@type": "xsd:string"
    },
    "prose_source": {
      "@id": "hempdata:prose_source",
      "@type": "xsd:string"
    },
    "source": {
      "@id": "hempdata:source",
      "@type": "xsd:string"
    },
    "canon_fact_id": {
      "@id": "hempdata:canon_fact_id",
      "@type": "xsd:string"
    },
    "canon_verdict": {
      "@id": "hempdata:canon_verdict",
      "@type": "xsd:string"
    },
    "canon_scope": {
      "@id": "hempdata:canon_scope",
      "@type": "xsd:string"
    },
    "state_rule": {
      "@id": "hempdata:state_rule",
      "@type": "xsd:string"
    },
    "canon_form_note": {
      "@id": "hempdata:canon_form_note",
      "@type": "xsd:string"
    },
    "canon_verdict_source": {
      "@id": "hempdata:canon_verdict_source",
      "@type": "xsd:string"
    },
    "ChangelogEntry": "hempdata:ChangelogEntry",
    "regulation_id": {
      "@id": "hempdata:regulation_id",
      "@type": "xsd:string"
    },
    "field_changed": {
      "@id": "hempdata:field_changed",
      "@type": "xsd:string"
    },
    "old_value": {
      "@id": "hempdata:old_value"
    },
    "new_value": {
      "@id": "hempdata:new_value"
    },
    "changed_at": {
      "@id": "hempdata:changed_at",
      "@type": "xsd:dateTime"
    },
    "reason": {
      "@id": "hempdata:reason",
      "@type": "xsd:string"
    },
    "PaginationMeta": "hempdata:PaginationMeta",
    "page": {
      "@id": "hempdata:page",
      "@type": "xsd:integer"
    },
    "per_page": {
      "@id": "hempdata:per_page",
      "@type": "xsd:integer"
    },
    "total": {
      "@id": "hempdata:total",
      "@type": "xsd:integer"
    },
    "total_pages": {
      "@id": "hempdata:total_pages",
      "@type": "xsd:integer"
    },
    "PaginatedRegulationResponse": "hempdata:PaginatedRegulationResponse",
    "success": {
      "@id": "hempdata:success",
      "@type": "xsd:boolean"
    },
    "data": {
      "@id": "hempdata:data",
      "@container": "@list"
    },
    "meta": {
      "@id": "hempdata:meta",
      "@type": "@id"
    },
    "errors": {
      "@id": "hempdata:errors",
      "@container": "@list"
    },
    "PaginatedChangelogResponse": "hempdata:PaginatedChangelogResponse",
    "ApiResponse_Regulation": "hempdata:ApiResponse_Regulation",
    "ApiResponse_Comparison": "hempdata:ApiResponse_Comparison",
    "StateSummary": "hempdata:StateSummary",
    "code": {
      "@id": "hempdata:code",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "hempdata:name",
      "@type": "xsd:string"
    },
    "regulation_count": {
      "@id": "hempdata:regulation_count",
      "@type": "xsd:integer"
    },
    "overall_stance": {
      "@id": "hempdata:overall_stance",
      "@type": "xsd:string"
    },
    "last_updated": {
      "@id": "hempdata:last_updated",
      "@type": "xsd:dateTime"
    },
    "StateProfile": "hempdata:StateProfile",
    "regulations": {
      "@id": "hempdata:regulations",
      "@container": "@list"
    },
    "regulatory_agency": {
      "@id": "hempdata:regulatory_agency",
      "@type": "xsd:string"
    },
    "hemp_program_url": {
      "@id": "hempdata:hemp_program_url",
      "@type": "@id"
    },
    "notes": {
      "@id": "hempdata:notes",
      "@type": "xsd:string"
    },
    "ApiResponse_StateList": "hempdata:ApiResponse_StateList",
    "ApiResponse_StateProfile": "hempdata:ApiResponse_StateProfile",
    "SubstanceSummary": "hempdata:SubstanceSummary",
    "slug": {
      "@id": "hempdata:slug",
      "@type": "xsd:string"
    },
    "description": {
      "@id": "hempdata:description",
      "@type": "xsd:string"
    },
    "states_legal": {
      "@id": "hempdata:states_legal",
      "@type": "xsd:integer"
    },
    "states_restricted": {
      "@id": "hempdata:states_restricted",
      "@type": "xsd:integer"
    },
    "states_prohibited": {
      "@id": "hempdata:states_prohibited",
      "@type": "xsd:integer"
    },
    "aliases": {
      "@id": "hempdata:aliases",
      "@container": "@list"
    },
    "ApiResponse_SubstanceList": "hempdata:ApiResponse_SubstanceList",
    "ProductTypeSummary": "hempdata:ProductTypeSummary",
    "ApiResponse_ProductTypeList": "hempdata:ApiResponse_ProductTypeList",
    "WebhookCreateRequest": "hempdata:WebhookCreateRequest",
    "endpoint_url": {
      "@id": "hempdata:endpoint_url",
      "@type": "@id"
    },
    "filters": {
      "@id": "hempdata:filters"
    },
    "WebhookSubscription": "hempdata:WebhookSubscription",
    "signing_secret": {
      "@id": "hempdata:signing_secret",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "hempdata:status",
      "@type": "xsd:string"
    },
    "created_at": {
      "@id": "hempdata:created_at",
      "@type": "xsd:dateTime"
    },
    "WebhookPayload": "hempdata:WebhookPayload",
    "event_id": {
      "@id": "hempdata:event_id",
      "@type": "xsd:string"
    },
    "event_type": {
      "@id": "hempdata:event_type",
      "@type": "xsd:string"
    },
    "timestamp": {
      "@id": "hempdata:timestamp",
      "@type": "xsd:dateTime"
    },
    "ApiResponse_Webhook": "hempdata:ApiResponse_Webhook",
    "ApiResponse_WebhookList": "hempdata:ApiResponse_WebhookList",
    "WidgetCheckRequest": "hempdata:WidgetCheckRequest",
    "api_key": {
      "@id": "hempdata:api_key",
      "@type": "xsd:string"
    },
    "state": {
      "@id": "hempdata:state",
      "@type": "xsd:string"
    },
    "ip": {
      "@id": "hempdata:ip",
      "@type": "xsd:string"
    },
    "WidgetCheckResult": "hempdata:WidgetCheckResult",
    "allowed": {
      "@id": "hempdata:allowed",
      "@type": "xsd:boolean"
    },
    "warning_text": {
      "@id": "hempdata:warning_text",
      "@type": "xsd:string"
    },
    "ApiResponse_WidgetCheck": "hempdata:ApiResponse_WidgetCheck",
    "ApiError": "hempdata:ApiError",
    "message": {
      "@id": "hempdata:message",
      "@type": "xsd:string"
    },
    "field": {
      "@id": "hempdata:field",
      "@type": "xsd:string"
    },
    "ErrorResponse": "hempdata:ErrorResponse",
    "ComplianceSource": "hempdata:ComplianceSource",
    "type": {
      "@id": "hempdata:type",
      "@type": "xsd:string"
    },
    "citation": {
      "@id": "hempdata:citation",
      "@type": "xsd:string"
    },
    "publisher": {
      "@id": "hempdata:publisher",
      "@type": "xsd:string"
    },
    "url": {
      "@id": "hempdata:url",
      "@type": "xsd:string"
    },
    "retrieved_at": {
      "@id": "hempdata:retrieved_at",
      "@type": "xsd:dateTime"
    },
    "license": {
      "@id": "hempdata:license",
      "@type": "xsd:string"
    },
    "confidence": {
      "@id": "hempdata:confidence",
      "@type": "xsd:decimal"
    },
    "attorney_reviewed": {
      "@id": "hempdata:attorney_reviewed",
      "@type": "xsd:boolean"
    },
    "ComplianceVerification": "hempdata:ComplianceVerification",
    "fact_id": {
      "@id": "hempdata:fact_id",
      "@type": "xsd:string"
    },
    "statute": {
      "@id": "hempdata:statute",
      "@type": "xsd:string"
    },
    "primary_sources": {
      "@id": "hempdata:primary_sources",
      "@container": "@list"
    },
    "thc_limit_source": {
      "@id": "hempdata:thc_limit_source",
      "@type": "xsd:string"
    },
    "ComplianceCheckResult": "hempdata:ComplianceCheckResult",
    "state_name": {
      "@id": "hempdata:state_name",
      "@type": "xsd:string"
    },
    "effective_status": {
      "@id": "hempdata:effective_status",
      "@type": "xsd:string"
    },
    "summary": {
      "@id": "hempdata:summary",
      "@type": "xsd:string"
    },
    "sources": {
      "@id": "hempdata:sources",
      "@container": "@list"
    },
    "verification": {
      "@id": "hempdata:verification",
      "@type": "@id"
    },
    "disclaimer": {
      "@id": "hempdata:disclaimer",
      "@type": "xsd:string"
    },
    "attribution": {
      "@id": "hempdata:attribution",
      "@type": "xsd:string"
    },
    "ApiResponse_ComplianceCheck": "hempdata:ApiResponse_ComplianceCheck",
    "AnswerCitation": "hempdata:AnswerCitation",
    "n": {
      "@id": "hempdata:n",
      "@type": "xsd:integer"
    },
    "label": {
      "@id": "hempdata:label",
      "@type": "xsd:string"
    },
    "AnswerVerification": "hempdata:AnswerVerification",
    "factId": {
      "@id": "hempdata:factId",
      "@type": "xsd:string"
    },
    "lastVerified": {
      "@id": "hempdata:lastVerified",
      "@type": "xsd:string"
    },
    "primarySources": {
      "@id": "hempdata:primarySources",
      "@container": "@list"
    },
    "AnswerResult": "hempdata:AnswerResult",
    "intent": {
      "@id": "hempdata:intent",
      "@type": "xsd:string"
    },
    "parsed": {
      "@id": "hempdata:parsed"
    },
    "answer": {
      "@id": "hempdata:answer"
    },
    "gap": {
      "@id": "hempdata:gap"
    },
    "ApiResponse_Answer": "hempdata:ApiResponse_Answer",
    "ComplianceScanRequest": "hempdata:ComplianceScanRequest",
    "total_thc_percent": {
      "@id": "hempdata:total_thc_percent",
      "@type": "xsd:decimal"
    },
    "delta9_thc_percent": {
      "@id": "hempdata:delta9_thc_percent",
      "@type": "xsd:decimal"
    },
    "thca_percent": {
      "@id": "hempdata:thca_percent",
      "@type": "xsd:decimal"
    },
    "serving_size_mg": {
      "@id": "hempdata:serving_size_mg",
      "@type": "xsd:decimal"
    },
    "servings_per_container": {
      "@id": "hempdata:servings_per_container",
      "@type": "xsd:integer"
    },
    "ComplianceReformulateRequest": "hempdata:ComplianceReformulateRequest",
    "current_formulation": {
      "@id": "hempdata:current_formulation"
    },
    "target_states": {
      "@id": "hempdata:target_states",
      "@container": "@list"
    },
    "save_request": {
      "@id": "hempdata:save_request",
      "@type": "xsd:boolean"
    },
    "FreeKeyRequest": "hempdata:FreeKeyRequest",
    "email": {
      "@id": "hempdata:email",
      "@type": "xsd:string"
    },
    "ApiResponse_FreeKey": "hempdata:ApiResponse_FreeKey"
  },
  "@type": "schema:Dataset",
  "schema:name": "HempData API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects HempData'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-11) from openapi/_original/hempdata-io-api-openapi.json.",
  "dcterms:created": "2026-11-11",
  "dcterms:source": [
    "openapi/_original/hempdata-io-api-openapi.json"
  ]
}