---
title: "Create HTML page"
method: POST
path: "/api/html"
tags: ["HTML"]
---

# Create HTML page

`POST /api/html`

Stores HTML or markdown content and returns a shareable link. Reuse existing owner token to group entities under one owner. Also accepts raw text/* (HTML, Markdown, YAML, XML, CSV, code) and application/octet-stream bodies — see /llms-full.txt.

## Query parameters

- `ns` string
- `tags` string
- `ttl` string
- `format` string

## Headers

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

## Request body

- HtmlUploadRequest
  - `content` string — HTML or markdown content to publish
  - `filename` string — Optional original filename used as the tab title fallback and download basename. Trimmed; rejected if it contains path separators or control characters, length > 200, or bare name shorter than 4 chars
  - `showTopBar` boolean — Per-content toggle for the frontend top toolbar. null = use global default (app.ui.show-top-bar-default)

## Response `201`

Page created

## Other responses

- `400` — Invalid request parameters
- `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)
