---
title: "100 free metered calls without checkout"
method: POST
path: "/keys/free"
---

# 100 free metered calls without checkout

`POST /keys/free`

## Request

- Base URL: `https://zoningverdict.com/api/v1`
- URL: `https://zoningverdict.com/api/v1/keys/free`
- Auth: none declared

Issue a free-only API key without checkout or a wallet. Accept the current published terms and supply a cryptographically random 64-character hex client_nonce; retain it privately for safe retries. 100 successful metered calls per UTC month, shared across rules, questions and parcel resolve. One issuance per network egress per month; shared networks may hit this limit. Key expires at the next UTC month. No paid overages; $3 compiled Preflights and $1 monitoring remain x402-paid and are not included.

## Request body

- object
  - `client_nonce` string, required: Generate 32 random bytes as lowercase hex; retain privately for retry. Never use a public example value.
  - `accept_terms` true, required
  - `terms_version` string, required: Current terms version from /api/v1/openapi.json info.description or the issue response.

## Response `200`

100 free metered calls without checkout

- object
  - `api_key` string
  - `free_calls` integer
  - `expires_at` string, date-time
  - `replayed` boolean
  - `paid_overages` unknown

---

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