API reference · Alerting & response

On-call rotations

Rotations, overrides, and "who is on call right now".

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 /oncall-schedules

scope oncall.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/oncall-schedules \
  -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 /oncall-schedules

scope oncall.write stable returns 201

curl -s -X POST https://app.upfour.io/v1/oncall-schedules \
  -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 /oncall-schedules/current

scope oncall.read stable returns 200

curl -s https://app.upfour.io/v1/oncall-schedules/current \
  -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 /oncall-schedules/{scheduleID}

scope oncall.write stable returns 200

ParameterInTypeNotes
scheduleIDrequired path uuid
curl -s https://app.upfour.io/v1/oncall-schedules/<scheduleID> \
  -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 /oncall-schedules/{scheduleID}

scope oncall.write stable returns 200

ParameterInTypeNotes
scheduleIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/oncall-schedules/<scheduleID> \
  -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 /oncall-schedules/{scheduleID}

scope oncall.write stable returns 204

ParameterInTypeNotes
scheduleIDrequired path uuid
curl -s -X DELETE https://app.upfour.io/v1/oncall-schedules/<scheduleID> \
  -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 /oncall-schedules/{scheduleID}/coverage

scope oncall.read stable returns 200

ParameterInTypeNotes
scheduleIDrequired path uuid
curl -s https://app.upfour.io/v1/oncall-schedules/<scheduleID>/coverage \
  -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 /oncall-schedules/{scheduleID}/events

scope oncall.read stable returns 200

ParameterInTypeNotes
scheduleIDrequired path uuid
curl -s https://app.upfour.io/v1/oncall-schedules/<scheduleID>/events \
  -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 /oncall-schedules/{scheduleID}/overrides

scope oncall.write stable returns 200

ParameterInTypeNotes
scheduleIDrequired path uuid
curl -s https://app.upfour.io/v1/oncall-schedules/<scheduleID>/overrides \
  -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 /oncall-schedules/{scheduleID}/overrides

scope oncall.write stable returns 201

ParameterInTypeNotes
scheduleIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/oncall-schedules/<scheduleID>/overrides \
  -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 /oncall-schedules/{scheduleID}/overrides/{overrideID}

scope oncall.write stable returns 204

ParameterInTypeNotes
scheduleIDrequired path uuid
overrideIDrequired path uuid
curl -s -X DELETE https://app.upfour.io/v1/oncall-schedules/<scheduleID>/overrides/<overrideID> \
  -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 /oncall-schedules/{scheduleID}/rotations

scope oncall.read stable returns 200

ParameterInTypeNotes
scheduleIDrequired path uuid
curl -s https://app.upfour.io/v1/oncall-schedules/<scheduleID>/rotations \
  -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.