---
title: "Update site"
method: PUT
path: "/api/sites/{ns}/{id}"
tags: ["Sites"]
---

# Update site

`PUT /api/sites/{ns}/{id}`

Replaces the multi-file site bundle (ZIP archive or individual files with paths). Requires the owner token returned at creation. Password is preserved as-is (not changed in this operation).

## Path parameters

- `ns` string, required
- `id` string, required

## Query parameters

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

## Headers

- `X-Owner-Token` string, required
- `User-Agent` string

## Request body

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

## Response `200`

Site updated

## Other responses

- `400` — Invalid request, empty bundle, limits exceeded, or bad TTL
- `403` — Missing or wrong owner token
- `404` — Site not found or expired
- `410` — Site is no longer available
- `415` — Unsupported file type in archive

---

[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)
