BrewPage · Schema
BrewPage Multi-File Site
A multi-file static HTML site hosted on BrewPage. Uploaded via POST /api/sites (ZIP or multipart files+paths). Limits: 20 MB total, 100 files, 5 MB per file.
HostingMarkdownHTMLAI ArtifactsFile HostingDeveloper Tools
Properties
| Name | Type | Description |
|---|---|---|
| id | string | |
| namespace | string | |
| link | string | |
| ownerLink | string | |
| ownerToken | string | |
| entry | string | Auto-detected entry HTML path (index.html preferred). |
| files | array | |
| totalSize | integer | |
| ttlDays | integer | |
| passwordProtected | boolean | |
| createdAt | string | |
| expiresAt | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/brewpage/main/json-schema/brewpage-site-schema.json",
"title": "BrewPage Multi-File Site",
"description": "A multi-file static HTML site hosted on BrewPage. Uploaded via POST /api/sites (ZIP or multipart files+paths). Limits: 20 MB total, 100 files, 5 MB per file.",
"type": "object",
"required": ["id", "namespace", "link", "ownerToken", "entry"],
"properties": {
"id": {"type": "string", "minLength": 10, "maxLength": 10},
"namespace": {"type": "string", "pattern": "^[a-z0-9-]{1,32}$"},
"link": {"type": "string", "format": "uri"},
"ownerLink": {"type": "string", "format": "uri"},
"ownerToken": {"type": "string"},
"entry": {
"type": "string",
"description": "Auto-detected entry HTML path (index.html preferred)."
},
"files": {
"type": "array",
"maxItems": 100,
"items": {
"type": "object",
"required": ["path", "size"],
"properties": {
"path": {"type": "string"},
"size": {"type": "integer", "minimum": 0, "maximum": 5242880},
"contentType": {"type": "string"}
}
}
},
"totalSize": {
"type": "integer",
"minimum": 0,
"maximum": 20971520
},
"ttlDays": {"type": "integer", "minimum": 1, "maximum": 30},
"passwordProtected": {"type": "boolean"},
"createdAt": {"type": "string", "format": "date-time"},
"expiresAt": {"type": "string", "format": "date-time"}
},
"additionalProperties": false
}