---
title: "Pilot Challenge — free mutating SQL → DENY + deny_id"
method: POST
path: "/v1/challenge"
tags: ["SQLGuard", "gateway", "pilot", "challenge", "Pilot Challenge", "AI database authorization", "authorize mutating SQL before execute", "denial-exchange"]
---

# Pilot Challenge — free mutating SQL → DENY + deny_id

`POST /v1/challenge`

## Request

- Base URL: `https://sqlguard.io`
- URL: `https://sqlguard.io/v1/challenge`
- Auth: none required

Submit mutating SQL. Free policy DENY mints deny_id. Wealth unlock: POST /v1/challenge/unlock Exact Pilot $100.00 (amount 100000000) OR Gateway invoice $299/mo. Legacy Session claim OFF TABLE as primary.

## Response `200`

ALLOW / REQUIRE (not locked)

## Other responses

- `403`: Challenge locked — DENY + deny_id + unlock paths

---

[API](https://skmtc.dev/sqlguard/apis/sqlguard-permission-before-production-writes.md) · [All operations](https://skmtc.dev/sqlguard/apis/sqlguard-permission-before-production-writes/llms.txt) · [OpenAPI document](https://skmtc.dev/sqlguard/apis/sqlguard-permission-before-production-writes/revisions/d164204b4aea?raw)
