API reference · Alerting & response

Playbooks (runbooks)

The steps you take when something breaks, attached to monitors, with shared progress.

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 /runbooks

scope runbook.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/runbooks \
  -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 /runbooks

scope runbook.write stable returns 201

curl -s -X POST https://app.upfour.io/v1/runbooks \
  -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 /runbooks/{runbookID}

scope runbook.write stable returns 200

ParameterInTypeNotes
runbookIDrequired path uuid
curl -s https://app.upfour.io/v1/runbooks/<runbookID> \
  -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 /runbooks/{runbookID}

scope runbook.write stable returns 200

ParameterInTypeNotes
runbookIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/runbooks/<runbookID> \
  -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 /runbooks/{runbookID}

scope runbook.write stable returns 204

ParameterInTypeNotes
runbookIDrequired path uuid
curl -s -X DELETE https://app.upfour.io/v1/runbooks/<runbookID> \
  -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 /runbooks/{runbookID}/step-completions

scope runbook.read stable returns 200

ParameterInTypeNotes
runbookIDrequired path uuid
curl -s https://app.upfour.io/v1/runbooks/<runbookID>/step-completions \
  -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 /runbooks/{runbookID}/steps/{stepID}/completion

scope runbook.write stable returns 200

ParameterInTypeNotes
runbookIDrequired path uuid
stepIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/runbooks/<runbookID>/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.