Skip to main content
POST
/
api
/
v1
/
status-pages
/
{id}
/
incidents
/
{incidentId}
/
publish
Publish a draft incident (sets publishedAt, applies component statuses, notifies subscribers)
curl --request POST \
  --url https://api.devhelm.io/api/v1/status-pages/{id}/incidents/{incidentId}/publish \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "<string>",
  "impact": "NONE",
  "status": "INVESTIGATING",
  "body": "<string>",
  "affectedComponents": [
    {
      "componentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "status": "OPERATIONAL"
    }
  ],
  "notifySubscribers": true
}
'
{
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "statusPageId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "title": "<string>",
    "status": "INVESTIGATING",
    "impact": "NONE",
    "scheduled": true,
    "autoResolve": true,
    "startedAt": "2023-11-07T05:31:56Z",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "scheduledFor": "2023-11-07T05:31:56Z",
    "scheduledUntil": "2023-11-07T05:31:56Z",
    "incidentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "publishedAt": "2023-11-07T05:31:56Z",
    "resolvedAt": "2023-11-07T05:31:56Z",
    "createdByUserId": 123,
    "postmortemBody": "<string>",
    "postmortemUrl": "<string>",
    "affectedComponents": [
      {
        "statusPageComponentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "componentStatus": "OPERATIONAL",
        "componentName": "<string>"
      }
    ],
    "updates": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "status": "INVESTIGATING",
        "body": "<string>",
        "createdBy": "USER",
        "notifySubscribers": true,
        "createdAt": "2023-11-07T05:31:56Z",
        "createdByUserId": 123
      }
    ]
  }
}

Authorizations

Authorization
string
header
required

API key (dh_live_...) or Auth0 JWT token

Path Parameters

id
string<uuid>
required
incidentId
string<uuid>
required

Body

application/json
title
string | null

Customer-facing title; null keeps draft value

Maximum string length: 500
impact
enum<string> | null

Impact level; null keeps draft value

Available options:
NONE,
MINOR,
MAJOR,
CRITICAL
status
enum<string> | null

Incident status; null keeps draft value (must be an active status)

Available options:
INVESTIGATING,
IDENTIFIED,
MONITORING,
RESOLVED
body
string | null

Initial update body; null keeps draft value

affectedComponents
object[] | null

Affected components; null keeps draft value

notifySubscribers
boolean | null

Whether to notify subscribers (default: true)

Response

200 - */*

OK

data
object
required