Skip to main content
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.
Upload a custom HTML template for your status page. Templates support template variables for dynamic data. The template is sanitized to block scripts, event handlers, and iframes.

Path Parameters

id
string
required
The status page ID

Request Body

Send the template as JSON or raw HTML.
template
string
required
The HTML template content (max 64KB)

Response

template
string
The saved template content
updated_at
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

StatusErrorDescription
400Template content is requiredEmpty or missing template
400Template exceeds maximum size of 64KBTemplate is too large
400Template contains unsafe HTMLScripts, event handlers, or iframes detected
403Custom HTML templates require a Pro plan or higherPlan upgrade required