Sapilon becomes publicly available on 1 December 2026: 42 days to go. The core goes open source the same day →

incident.io integration

In short

Read and declare incidents and follow their updates. Connect it on the Integrations page; your app then calls incident.io through Sapilon without ever holding an incident.io credential.

Lets your app list and read incidents and their updates, declare new incidents, and read severities.

Connecting

On the Integrations page choose Connect on incident.io and fill in:

  • API key — incident.io → Settings → API keys → Add new. Give it “View data” and “Create incidents”.

Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.

What your app can do

Only these requests are available; anything else is refused.

  • GET /v1/identity
  • GET|POST /v2/incidents
  • GET /v2/incidents/*
  • GET /v2/incident_updates
  • GET /v1/severities

How the agent uses it

Use integrations.request('incident-io', …); paths are relative to https://api.incident.io.

  • GET /v2/incidents — query: { 'status_category[one_of]': 'live', page_size: '25' }. GET /v2/incidents/{id}.
  • POST /v2/incidents — Example: { method: 'POST', path: '/v2/incidents', body: { idempotency_key: 'checkout-2026-10-16', name: 'Checkout failing', severity_id: '01H…', visibility: 'public', mode: 'standard' } }. Take severity_id from GET /v1/severities.
  • GET /v2/incident_updates — query: { incident_id }.
  • GET /v1/identity — the key’s name and roles.

Changing or closing incidents is not allowed.

More from incident.io: https://api-docs.incident.io/

Last updated .

Was this page helpful?