---
title: "Signed compiled zoning verdict for an address and intent"
method: POST
path: "/preflights"
---

# Signed compiled zoning verdict for an address and intent

`POST /preflights`

## Request

- Base URL: `https://zoningverdict.com/api/v1`
- URL: `https://zoningverdict.com/api/v1/preflights`
- Auth: API key in header `PAYMENT-SIGNATURE`

Compile an address and structured project intent into a preliminary zoning verdict, cited conditions, approval path, versioned evidence and EdDSA JWS. $3 USDC on Base; pack_gap refusals are never charged. Paid Preflight coverage is narrower than address resolution. Durable workflow status and result retrieval included.

## Request body

- object
  - `address` string, required
  - `request_id` string, required: Fresh cryptographically random purchase ID. Retain for retry; never reuse for different input.
  - `intent` object, required
    - `taxonomy_version` unknown, required
    - `project_type` 'building_addition' | 'accessory_dwelling_unit' | 'detached_accessory_structure' | 'fence' | 'home_occupation' | 'use_conversion', required
    - `use` string, required
    - `attributes` object, required

## Response `200`

Signed compiled zoning verdict for an address and intent

- object
  - `workflow_id` string, required
  - `access_token` string
  - `status` 'queued' | 'compiling' | 'settling' | 'completed' | 'refused' | 'failed' | 'payment_review', required
  - `result` object, nullable
  - `poll_after_ms` integer

## Other responses

- `202`: Durable workflow accepted. Poll using workflow_id and access_token; no settlement until successful completion.
- `401`: Missing or inactive API key.
- `402`: x402 payment required from the first unsigned request; use coverage preflight before parcel resolution.
- `429`: Daily key limit reached.

---

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