POST /v2/incidents); from there incident.io runs its own escalation, status page updates, and team communication.
Setup
Create an incident.io API key (and find a severity ID)
- In incident.io, go to Settings → API keys and create a key with the Create incidents permission enabled
- Copy the key — incident.io shows it only once
- (Optional) Severities are specific to your organization, so fetch their IDs with the List Severities API:
id of the severity you want DevHelm-created incidents to use. If you omit it, the incident is created without an explicit severity.Configuration
| Field | Description | Required |
|---|---|---|
apiKey | incident.io API key with the Create incidents permission | Yes |
severityId | Severity ID from GET /v1/severities; omit for no explicit severity | No |
visibility | Incident visibility: public or private (default: public) | No |
Lifecycle behavior
incident.io is a trigger-resolve channel:| DevHelm event | incident.io action |
|---|---|
| Incident created | Declares a new incident |
| Incident resolved | Resolves the corresponding incident |
Troubleshooting
Authentication failed (HTTP 401 / 403)
Authentication failed (HTTP 401 / 403)
The API key is missing the Create incidents permission, or it was revoked. In Settings → API keys, create a new key with that permission and update the channel config.
Severity ID doesn't exist
Severity ID doesn't exist
Severities are organization-specific. Re-fetch them with
GET https://api.incident.io/v1/severities and copy a current id. Note the version split: severities live on v1, incidents are created on v2.Visibility rejected
Visibility rejected
visibility must be exactly public or private (lowercase). Any other value is rejected by incident.io.