Ionhour Docs
Developer Platform

Scopes & product APIs

Every OAuth scope on the Ionhour developer platform, grouped by product API — monitoring, incidents, alerting, on-call, and status pages — plus capping rules.

Scopes are fine-grained resource:action grants. In the Developer Console they're grouped by product API — a presentational grouping that mirrors Ionhour's products; the underlying grant is always the individual scope.

The two capping rules

  • Scopes are consent ceilings. A granted scope is the most an installation can be granted — not a floor.
  • Installer coupling. An installation's effective authority is capped by the installing member's live workspace role, and never exceeds Admin. Owner-only actions are unreachable over OAuth, whatever scopes you request.

Request the minimum you need — over-scoped apps are the most common reason for review rejections.

Monitoring API

Checks, jobs, dependencies, deployments, maintenance windows, and signal ingest.

ScopeGrants
checks:readView checks and their status
checks:writeRegister, update, and control checks
jobs:readView jobs and their status
jobs:writeRegister, update, and control jobs
dependencies:readView dependencies
dependencies:writeManage dependencies
deployments:readView deployments
deployments:writeManage deployments
maintenance:readView maintenance windows
maintenance:writeManage maintenance windows
signals:writeSend heartbeat and failure signals ⚠️

Incidents API

ScopeGrants
incidents:readView incidents and timelines
incidents:writeManage incidents through their lifecycle

Alerting API

ScopeGrants
alerts:readView alert channels and routing
alerts:writeManage alert channels and routing

On-Call API

ScopeGrants
escalation:readView escalation paths
escalation:writeManage escalation paths

Status Pages API

ScopeGrants
status_pages:readView status pages
status_pages:writeManage status pages and components

Workspace API

ScopeGrants
workspace:readView workspace details and members
workspace:members:writeInvite workspace members ⚠️
projects:readView projects
projects:writeManage projects

There is no signals:read scope — signal history isn't exposed over OAuth in v1. signals:write covers sending heartbeats and failure signals.

Sensitive scopes ⚠️

Two scopes confer unusual authority and get extra treatment:

  • workspace:members:write — your app can invite people to the user's workspace.
  • signals:write — your app reports heartbeats and failures as the monitored service, which means it can mask a real outage or fabricate one.

Both are called out with an explicit warning on the consent screen, and apps requesting either require Ionhour review before publication. Request them only when they're central to what your app does, and explain the use in your review submission.

Scope tiers are stable

Read/write tiers are the granularity contract: :read grants viewing, :write grants the full mutating set for that resource (create, update, delete, and lifecycle actions where they exist). A published :write scope will never silently narrow. If finer grants (for example a separate :delete) are introduced later, they will be additive — new scopes alongside the existing ones, never a change to what you already hold.

Scopes and webhooks

Webhook events are gated by read scopes: check.* events require checks:read, job.* events require jobs:read, and incident.* events require incidents:read. See Webhooks.