---
title: "Create a validation page for an existing experiment"
method: POST
path: "/api/v1/validation-pages"
tags: ["Experiments"]
---

# Create a validation page for an existing experiment

`POST /api/v1/validation-pages`

## Request

- Base URL: `https://www.specky.space`
- URL: `https://www.specky.space/api/v1/validation-pages`
- Auth: HTTP bearer

Generate a typed, shareable fake-door, waitlist, feature-interest, concierge, or prototype page. Pages are drafts unless publish is explicitly true.

## Request body

- CreateValidationPageRequest
  - `experiment_id` string, uuid, required: The EXPERIMENT graph-node ID in the authenticated workspace.
  - `page_type` 'fake_door' | 'waitlist' | 'feature_interest' | 'concierge' | 'prototype'
  - `publish` boolean: Publish after generation. Keep false until the copy and audience are reviewed.

## Response `200`

Successful response. Always includes `summary` (string) and `ok: true`; mutating endpoints additionally include the created resource id under a tool-specific key.

- OkSummary
  - `ok` true
  - `summary` string: Human-readable result text.

## Other responses

- `400`: Invalid request body or path
- `401`: Missing or invalid bearer token
- `402`: Invalid request body or path

---

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