---
title: "Upload site"
method: POST
path: "/api/sites"
tags: ["Sites"]
---

# Upload site

`POST /api/sites`

Upload a multi-file HTML site as a ZIP archive or as individual files with paths. Returns a link to the published site

## Query parameters

- `files` string[]
- `paths` string[]
- `ns` string
- `tags` string
- `ttl` string
- `entry` string

## Headers

- `X-Password` string
- `X-Owner-Token` string
- `User-Agent` string

## Request body

- object
  - `archive` string, binary — ZIP archive containing site files

## Response `201`

Site uploaded

## Other responses

- `400` — Invalid request, no HTML files, or limits exceeded
- `415` — Unsupported file type in archive
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/brewpage/apis/brewpage-api.md) · [All operations](https://skmtc.net/brewpage/apis/brewpage-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/brewpage/brewpage-api/revisions/6e0ac03e39e5/schema)
