Update an incident
Changes the title, summary, severity or commander. A field left out or empty
keeps its value, so a field cannot be cleared this way. severity must be
one of the four values, and a commander_id other than the caller must be a
member of the organization who can respond to alerts, as on create. When the
incident is published to a status page, a new title — and a changed
severity, as the public impact — is relayed there.
Send the incident's version to make the edit conditional: if someone
changed the incident since you read it, nothing is written (409
EDIT_CONFLICT).
Permission (API-key scope): oncall:incident:write.
Authorization
bearerAuth(oncall:incident:write)apiKeyHeader(oncall:incident:write)
Parameters
Path parameters
idstring requiredThe incident's id.
Request body required
Empty or omitted fields keep their value.
titlestringNot blank; empty keeps the stored title.summarystringseverityIncidentSeveritycommander_idstringversionintegerThe incident'sversionthis edit was made against. When it is no longer the current one, nothing is changed (409EDIT_CONFLICT). Omitted, the edit applies to whatever is stored.
Responses
200
The incident after the change.
dataIncident requiredShow Incident properties
idstring requiredorg_idstringnumberinteger requiredSequential number within the organization.titlestring requiredsummarystringseverityIncidentSeverity requiredstatusIncidentStatus requiredcommander_idstringstarted_atstring (date-time) requiredidentified_atstring (date-time)resolved_atstring (date-time)timelinearray of IncidentTimelineEntryThe timeline entries, oldest first. Only in the answer of Get an incident.Show IncidentTimelineEntry properties
idstringincident_idstringauthor_idstringstatusstringThe incident's status when the entry was written.messagestringcreated_atstring (date-time)
created_atstring (date-time)updated_atstring (date-time)versionintegerGoes up by one on every edit of the title, summary, severity or commander (not on acknowledge or resolve). Send it with an update to refuse the edit if someone else changed the incident first.
successboolean required
400
The body is not JSON (INVALID_BODY), title is blank or longer than 200 characters, or severity is not one of the four values (VALIDATION_FAILED).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstringThe request'sX-Request-ID. Quote it to support.detailsarray of object requiredfieldstringmessagestring
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThe request'sX-Request-ID. Quote it to support.
403
The key lacks the scope this endpoint needs (FORBIDDEN).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThe request'sX-Request-ID. Quote it to support.
404
No incident with this id in your organization (NOT_FOUND), or commander_id is not a member of the organization (NOT_A_MEMBER).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThe request'sX-Request-ID. Quote it to support.
409
version is not the incident's current version; it was changed since you read it (EDIT_CONFLICT).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThe request'sX-Request-ID. Quote it to support.
422
The person cannot respond to alerts: they do not hold oncall:alert:respond (CANNOT_RESPOND).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThe request'sX-Request-ID. Quote it to support.
429
Too many requests (RATE_LIMITED). Wait Retry-After seconds.
Retry-AfterintegerSeconds to wait.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThe request'sX-Request-ID. Quote it to support.
500
Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThe request'sX-Request-ID. Quote it to support.
503
Whether the person may be paged could not be checked right now; nothing was changed (MEMBER_CHECK_UNAVAILABLE). Retry shortly.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThe request'sX-Request-ID. Quote it to support.
Example request
curl -X PUT 'https://evohub.io/api/v1/incidents/2e7f9a1b-3c4d-4e5f-8a9b-0c1d2e3f4a5b' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"severity": "critical"
}'
