---
title: "Deliver a published validation page to a GitHub branch"
method: POST
path: "/api/v1/validation-pages/{id}/repository"
tags: ["Experiments"]
---

# Deliver a published validation page to a GitHub branch

`POST /api/v1/validation-pages/{id}/repository`

## Request

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

Creates or updates a specky/validation/... branch with a complete static fake-door page, validation.json, and README. The hosted validation URL remains the response destination. Set open_pull_request to true only when a draft PR is wanted.

## Path parameters

- `id` string, uuid, required

## Request body

- PublishValidationPageRepositoryRequest
  - `repo` string: Optional owner/repo override. Defaults to the connected GitHub target.
  - `base_branch` string: Optional base branch. Defaults to the configured or repository default branch.
  - `open_pull_request` boolean: Open a draft PR after writing the branch.

## 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
- `502`: 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)
