---
title: "30 days of machine-readable Impact Updates"
method: POST
path: "/twins"
---

# 30 days of machine-readable Impact Updates

`POST /twins`

## Request

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

Attach 30 days of optional Impact Updates to a purchased machine Preflight for $1 USDC via x402. Poll signed, versioned JSON updates using the original workflow access token. No automatic renewal.

## Request body

- object
  - `workflow_id` string, required
  - `access_token` string, required
  - `request_id` string, required

## Response `200`

30 days of machine-readable Impact Updates

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