Create template
Create a reusable event template blueprint.
POST /app/templates
Creates an org-scoped event template. Requires the templates feature. Soft limit limits.templates is enforced — returns 403 when at capacity.
Request
See API Basics for required headers.
Request body
Discriminated by eventType. All types require name, title, and description.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Template list name. 1–100 characters. Not unique. |
eventType | string | Yes | "incident", "maintenance", or "informational". Immutable after create. |
title | string | Yes | Default event title. Max 250 characters. |
description | string | Yes | Rich text body. Max 5,000 characters. |
coordinator | object | No | Same shape as event coordinator. |
notifications | boolean | No | Default true. |
segmentNotification | object | No | Requires segments feature when provided. |
attributes | array | No | Custom attributes. Subject to limits.attributes when present. |
impactAnalysis | string | No | Incident and maintenance only. Max 5,000 characters. |
maintenanceAutomation | object | No | Maintenance only. Relative automation config (no absolute times). |
Rejected with 400 if present: affectedComponents, statusLabel, initialTimelineMessage, publish, startTime, endTime.
Sample request
curl -X POST https://api.statusdashboard.com/app/templates \
-H "Authorization: Bearer bcf847abf5c6:def456" \
-H "Content-Type: application/json" \
-d '{
"name": "API outage playbook",
"eventType": "incident",
"title": "API service disruption",
"description": "<p>We are investigating elevated error rates.</p>",
"notifications": true
}'Sample response
Status: 201 Created
{
"template": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "API outage playbook",
"eventType": "incident",
"title": "API service disruption",
"description": "<p>We are investigating elevated error rates.</p>",
"notifications": true,
"createdAt": "2026-06-01T12:00:00.000Z",
"updatedAt": "2026-06-01T12:00:00.000Z"
}
}Applying a template
Templates are applied client-side when creating events. Fetch the template, map playbook fields onto the event create form, then POST /app/events with instance fields (components, status, timeline message, times, publish). See Using a template.
Error responses
| Status | When |
|---|---|
400 | Validation failure or rejected instance-only fields in the body. |
403 | Templates feature not enabled, insufficient role, or template quota reached. |

