---
title: "Create a site from an uploaded file or ZIP"
method: POST
path: "/api/sites"
tags: ["site-controller"]
---

# Create a site from an uploaded file or ZIP

`POST /api/sites`

## Request

- Base URL: `https://api.pagegoat.com`
- URL: `https://api.pagegoat.com/api/sites`
- Auth: HTTP bearer

Multipart. The caller becomes owner and the bytes count against their plan — unless they are publishing into a workspace they are a teammate of, in which case the workspace owner pays.

## Response `201`

The created site.

## Other responses

- `402`: No paid plan, or out of quota.
- `413`: Larger than the per-upload cap.

---

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