API reference · Alerting & response

Incidents

Open, acknowledge, comment, escalate, resolve. Everything the incident timeline shows, writable.

Base URL https://app.upfour.io/v1 · auth via Authorization: Bearer <key> · “Try it” runs from your browser — the key is kept in this tab only. Use a pls_test_ sandbox key to experiment freely.

GET /incidents

scope incident.write stable returns 200

ParameterInTypeNotes
limit query integer default 50
cursor query string
client_id query uuid
all_clients query boolean
q query string
sort query string
curl -s https://app.upfour.io/v1/incidents \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

POST /incidents

scope incident.write stable returns 201

curl -s -X POST https://app.upfour.io/v1/incidents \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

GET /incidents/{incidentID}

scope incident.read stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s https://app.upfour.io/v1/incidents/<incidentID> \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

POST /incidents/{incidentID}/acknowledge

scope incident.write stable returns 201

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/incidents/<incidentID>/acknowledge \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

PUT /incidents/{incidentID}/acknowledge

scope incident.write stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/incidents/<incidentID>/acknowledge \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

GET /incidents/{incidentID}/ai

scope incident.read stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s https://app.upfour.io/v1/incidents/<incidentID>/ai \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

POST /incidents/{incidentID}/ai/postmortem

scope incident.write stable returns 201

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/incidents/<incidentID>/ai/postmortem \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

POST /incidents/{incidentID}/ai/summary

scope incident.write stable returns 201

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/incidents/<incidentID>/ai/summary \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

PUT /incidents/{incidentID}/ai/{kind}/rating

scope incident.write stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
kindrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/incidents/<incidentID>/ai/<kind>/rating \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

GET /incidents/{incidentID}/attachments

scope incident.write stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s https://app.upfour.io/v1/incidents/<incidentID>/attachments \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

POST /incidents/{incidentID}/attachments

scope incident.write stable returns 201

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/incidents/<incidentID>/attachments \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

GET /incidents/{incidentID}/attachments/{attachmentID}

scope incident.write stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
attachmentIDrequired path uuid
curl -s https://app.upfour.io/v1/incidents/<incidentID>/attachments/<attachmentID> \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

DELETE /incidents/{incidentID}/attachments/{attachmentID}

scope incident.write stable returns 204

ParameterInTypeNotes
incidentIDrequired path uuid
attachmentIDrequired path uuid
curl -s -X DELETE https://app.upfour.io/v1/incidents/<incidentID>/attachments/<attachmentID> \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

GET /incidents/{incidentID}/comments

scope incident.write stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s https://app.upfour.io/v1/incidents/<incidentID>/comments \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

POST /incidents/{incidentID}/comments

scope incident.write stable returns 201

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/incidents/<incidentID>/comments \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

DELETE /incidents/{incidentID}/comments/{commentID}

scope incident.write stable returns 204

ParameterInTypeNotes
incidentIDrequired path uuid
commentIDrequired path uuid
curl -s -X DELETE https://app.upfour.io/v1/incidents/<incidentID>/comments/<commentID> \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

POST /incidents/{incidentID}/escalate

scope incident.write stable returns 201

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/incidents/<incidentID>/escalate \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

GET /incidents/{incidentID}/group

scope incident.read stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s https://app.upfour.io/v1/incidents/<incidentID>/group \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

POST /incidents/{incidentID}/reopen

scope incident.write stable returns 201

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/incidents/<incidentID>/reopen \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

PUT /incidents/{incidentID}/reopen

scope incident.write stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/incidents/<incidentID>/reopen \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

POST /incidents/{incidentID}/resolve

scope incident.write stable returns 201

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/incidents/<incidentID>/resolve \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

PUT /incidents/{incidentID}/resolve

scope incident.write stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/incidents/<incidentID>/resolve \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

GET /incidents/{incidentID}/runbook-progress

scope incident.read stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s https://app.upfour.io/v1/incidents/<incidentID>/runbook-progress \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

PUT /incidents/{incidentID}/runbook-steps/{stepID}/completion

scope incident.write stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
stepIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/incidents/<incidentID>/runbook-steps/<stepID>/completion \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

GET /incidents/{incidentID}/timeline

scope incident.read stable returns 200

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s https://app.upfour.io/v1/incidents/<incidentID>/timeline \
  -H "Authorization: Bearer $UP4_API_KEY"
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.

POST /incidents/{incidentID}/updates

scope incident.write stable returns 201

ParameterInTypeNotes
incidentIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/incidents/<incidentID>/updates \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Sent directly from your browser to https://app.upfour.io/v1. Mutating calls get an automatic Idempotency-Key.