---
title: "(Preview) Forecast regulatory change for a state"
method: GET
path: "/v1/predictions/{state}"
tags: ["Predictions"]
---

# (Preview) Forecast regulatory change for a state

`GET /v1/predictions/{state}`

## Request

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

Aggregates public bill tracking, pending regulations, and named federal enforcement dates into a probabilistic change signal. **Preview endpoint — not legal advice.** Output must not be relied on for stocking, shipping, or formulation decisions without counsel review. Responses are re-stamped with the current disclaimer, even on cache hits. The endpoint is gated behind the standard authenticated + rate-limited `/v1/*` pipeline.

## Path parameters

- `state` string, required

## Query parameters

- `horizon_days` integer
- `refresh` boolean

## Response `200`

Prediction result (Preview). Always includes the current disclaimer.

- object
  - `success` boolean, required
  - `data` object, required
    - `state` string, required
    - `horizon_days` integer, required
    - `change_probability` number, float, required
    - `confidence` number, float, required
    - `risk_level` 'low' | 'moderate' | 'high' | 'critical', required
    - `predicted_changes` object[], required
      - `substance` string
      - `direction` 'tighter' | 'looser' | 'unclear'
      - `estimated_effective_date` string, date, nullable
      - `likely_triggers` object[]
        - `type` 'bill' | 'federal_enforcement' | 'regulation_sunset'
        - `reference_id` string
        - `label` string
        - `weight` number, float
      - `reasoning` string
    - `signal_counts` object, required
      - `active_bills` integer
      - `pending_regulations` integer
      - `federal_triggers` integer
    - `methodology_notes` string, required
    - `calculated_at` string, date-time, required
    - `disclaimer` string, required: Re-stamped on every response. Required.
  - `meta` object, required
    - `cached` boolean
    - `calculated_at` string, date-time
    - `legal_notice` string

## Other responses

- `400`: Validation error (bad state code or horizon).
- `401`: Missing or invalid API key.
- `429`: Rate limit exceeded.
- `503`: Predictions table unavailable (e.g. migration not applied).

---

[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)
