curl -X PUT "https://kodostatus.com/api/v1/status-pages/550e8400-e29b-41d4-a716-446655440000/template" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"template": "<div class=\"status-header\">{{page.name}}</div><div class=\"services\">{{#each services}}...{{/each}}</div>"
}'
{
"template": "<div class=\"status-header\">{{page.name}}</div>...",
"updated_at": "2026-02-22T10:00:00.000Z"
}
Status Pages
Update Custom Template
Upload or replace the custom HTML template for a status page
PUT
/
status-pages
/
{id}
/
template
curl -X PUT "https://kodostatus.com/api/v1/status-pages/550e8400-e29b-41d4-a716-446655440000/template" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"template": "<div class=\"status-header\">{{page.name}}</div><div class=\"services\">{{#each services}}...{{/each}}</div>"
}'
{
"template": "<div class=\"status-header\">{{page.name}}</div>...",
"updated_at": "2026-02-22T10:00:00.000Z"
}
Custom HTML templates require a Pro plan or higher.
Path Parameters
string
required
The status page ID
Request Body
Send the template as JSON or raw HTML.string
required
The HTML template content (max 64KB)
Response
string
The saved template content
string
ISO 8601 timestamp
curl -X PUT "https://kodostatus.com/api/v1/status-pages/550e8400-e29b-41d4-a716-446655440000/template" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"template": "<div class=\"status-header\">{{page.name}}</div><div class=\"services\">{{#each services}}...{{/each}}</div>"
}'
{
"template": "<div class=\"status-header\">{{page.name}}</div>...",
"updated_at": "2026-02-22T10:00:00.000Z"
}
Errors
| Status | Error | Description |
|---|---|---|
| 400 | Template content is required | Empty or missing template |
| 400 | Template exceeds maximum size of 64KB | Template is too large |
| 400 | Template contains unsafe HTML | Scripts, event handlers, or iframes detected |
| 403 | Custom HTML templates require a Pro plan or higher | Plan upgrade required |