---
title: "Get single regulation"
method: GET
path: "/v1/regulations/{id}"
tags: ["Regulations"]
---

# Get single regulation

`GET /v1/regulations/{id}`

## Request

- Base URL: `https://api.hempdata.io`
- URL: `https://api.hempdata.io/v1/regulations/{id}`
- Auth: HTTP bearer

Retrieve a single regulation record by its UUID.

## Path parameters

- `id` string, uuid, required

## Response `200`

Single regulation

- ApiResponseRegulation
  - `success` boolean, required
  - `data` Regulation, required: A single hemp regulation record for a specific jurisdiction, substance, and product type combination.
    - `id` string, uuid, nullable, required: Unique regulation record identifier Null on a canon row (source: "canon").
    - `jurisdiction` string, required: Two-letter state code or DC
    - `substance` string, required: Regulated substance name
    - `product_type` string, required: Product type category
    - `legal_status` 'legal' | 'restricted' | 'prohibited' | 'gray_area' | 'pending_change', required: Current legal status in this jurisdiction
    - `federal_status` string: Federal legal status for this substance/product combination
    - `thc_limit_pct_dryweight` number, nullable: Maximum THC concentration as percentage of dry weight
    - `thc_limit_mg_per_serving` number, nullable: Maximum THC in milligrams per serving
    - `thc_limit_mg_per_container` number, nullable: Maximum THC in milligrams per container/package
    - `thc_measurement_method` string, nullable: Required method for measuring THC content (e.g. post-decarboxylation, total THC)
    - `cbd_limit_mg_per_serving` number, nullable: Maximum CBD in milligrams per serving, if regulated
    - `age_restriction` integer, nullable: Minimum age for purchase
    - `age_verification_method` string, nullable: Required age verification method (e.g. id_scan, self_attestation)
    - `labeling_required` boolean, nullable: Whether specific labeling is mandated
    - `warning_text_verbatim` string, nullable: Exact warning text required on packaging, if any
    - `testing_standard` string, nullable: Required testing standard or accreditation (e.g. ISO 17025)
    - `testing_panels_required` string[], nullable: List of required testing panels (e.g. potency, pesticides, heavy_metals, microbials)
    - `shipping_status` string, nullable: Whether the product can be shipped to/from this state
    - `carrier_restrictions` string[], nullable: Carriers that restrict or prohibit shipping this product
    - `license_required` boolean, nullable: Whether a state license is required to sell
    - `license_type` string, nullable: Type of license required (e.g. hemp_processor, retail_cannabis)
    - `enforcement_date` string, date, nullable: Date the regulation took or takes effect
    - `enforcement_agency` string, nullable: Government agency responsible for enforcement
    - `penalty_range` string, nullable: Summary of penalties for non-compliance
    - `source_urls` string[], nullable: URLs to official source documents
    - `source_documents` string[], nullable: Names or references of source documents
    - `plain_english` string, nullable: Human-readable summary of the regulation
    - `block_sale` boolean, nullable: Whether sales should be blocked in this jurisdiction (compliance recommendation)
    - `effective_date` string, date, nullable: Date the regulation became effective
    - `expiry_date` string, date, nullable: Date the regulation expires or sunsets, if applicable
    - `related_bills` object[], nullable: Related legislative bills
      - `bill_id` string
      - `title` string
      - `status` string
      - `url` string, uri
    - `last_verified` string, date-time, required: When this regulation was last verified by a human analyst
    - `verification_tier` 'attorney_reviewed' | 'analyst_verified' | 'automated' | 'unverified', required: Level of human verification applied
    - `confidence_score` number, required: Confidence score from 0 to 1 indicating data reliability
    - `legal_status_source` 'canon_overlay' | 'db': canon_overlay = the canonical substance verdict raised the stored status (a row is never served less strict than canon); db = the stored value stands (not a claim of human review).
    - `prose_source` 'canon': Present when the narrative fields (plain_english / summary / summary_140_chars / summary_paragraph) were replaced by the canonical verdict line + verbatim rule basis + fact id, because the canonical verdict decided this row and the stored text contradicted it.
    - `source` 'canon': Present only on a row assembled at read time from HempData's verified facts because the regulations table has no row for this state + substance. Such a row has id null, is a substance-level verdict (product-form rules are not evaluated — see state_rule) and is never written to the table.
    - `canon_fact_id` string, nullable: The verified fact id behind a canon verdict / canon prose.
    - `canon_verdict` string: The verdict line /v1/answer prints for this state + substance (canon rows only).
    - `canon_scope` 'substance_level': Canon rows answer for the substance; product-form rules are in state_rule, not evaluated.
    - `state_rule` string, nullable: The state's verified fact (canonical phrasing), verbatim.
    - `canon_form_note` string: Set when a product-form rule in the state's fact (e.g. beverage-specific limits) is not evaluated by a substance-level canon row; the row is then served 'restricted', never 'legal'.
    - `canon_verdict_source` 'canon' | 'fallback_map' | 'unsettled': How the canonical verdict reached the status on a canon row: canon = a verified fact settles it; fallback_map = HempData's audited prohibition review; unsettled = the canon declines to settle it (served gray_area — not permission).
  - `meta` object
  - `errors` ApiError[], nullable
    - `code` string, required: Machine-readable error code
    - `message` string, required: Human-readable error message
    - `field` string, nullable: Field that caused the error, if applicable

## Other responses

- `404`: Regulation not found

---

[API](https://skmtc.dev/hempdata/apis/hempdata-api.md) · [All operations](https://skmtc.dev/hempdata/apis/hempdata-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hempdata/apis/hempdata-api/revisions/2c2946badd40?raw)
