Skip to content
IRIS
LiveREST · JSON · EU edge

One REST call, one human reached

Post an alert. IRIS owns routing, language, escalation, two-way replies and proof. No SDK required to start — just a key and a POST.

POST /api/v1/alerts
curl https://api.my-iris.io/api/v1/alerts \
  -H "Authorization: Bearer $IRIS_API_KEY" \
  -H "Idempotency-Key: alert-7f3a9c" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Freezer #3 excursion",
    "severity": "critical",
    "channel": "sms",
    "group": "lab-oncall",
    "message": {
      "en": "Freezer #3 is +2.1C over limit",
      "fi": "Pakastin #3 +2.1C yli rajan"
    }
  }'
Example endpoint. Get your API key from the trial workspace.

Built for integration

Terse, predictable, EU-native

JSON in, JSON out. Honest defaults. The kind of API you wire up once and forget.

API-key auth

Bearer token per workspace. Rotate keys from the trial workspace.

Idempotent ingestion

Safe retries — a repeated alert with the same key won’t double-fire.

Low-latency EU edge

Ingestion runs on Cloudflare’s EU edge for low-latency dispatch.

Two-way, handled

SMS replies (“1” ack, “2” escalate) and IVR keypad acks are captured automatically and exposed via the status endpoint, dashboard and audit log.

Core endpoints

A small, stable surface — ingest alerts, check status, and configure your groups.

Live
  • POST/api/v1/alertsIngest an alert and start the escalation.
  • GET/api/v1/alerts/:name/statusCheck an alert’s current escalation status.
  • GET / PUT/api/v1/config/*Manage groups, recipients, number mapping and languages.

No API call? Trigger by email

If your monitoring tool can only send an email, that's enough — no integration required.

Live
  1. 1Create an email trigger for an alert group in the dashboard.
  2. 2IRIS issues a unique, secret address — e.g. alerts-lab@my-iris.io.
  3. 3Point your tool’s outbound email at that address. Any mail it sends starts an alert on the same escalation engine, with the same two-way replies and audit trail as the REST path.
inbound · alert trigger
To: alerts-lab@my-iris.io
From: monitoring@yourtool.example
Subject: Freezer #3 excursion
→ escalation started
Optional sender-IP allowlist, per-webhook rate limiting. Mail that doesn't match a live trigger address is silently ignored — never bounced, never forwarded.

Just need to send an SMS? The direct-send API

One-shot SMS without the escalation engine — no rounds, no acknowledgement tracking. Prepaid credits, no subscription.

Live
  • Dedicated API key — X-Direct-Send-Key, separate from your alert key.
  • Per-tenant destination allowlist, fail-closed — numbers you haven't approved are never dialed.
  • Event-frequency filtering: a per-recipient hourly cap, with overflow folded into a digest.
  • Prepaid credits — only messages actually sent are charged; suppressed sends never bill.
POST /api/v1/sms/send
curl https://api.my-iris.io/api/v1/sms/send \
  -H "X-Direct-Send-Key: $IRIS_SEND_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+358400000000",
    "message": "Door sensor #7: low battery"
  }'
One send, one message — no escalation started.

Full developer docs — OpenAPI spec and SDKs — are coming at docs.my-iris.io.

Roadmap

Send your first alert today

Grab a key from a trial workspace — 1,000 credits, no credit card — and POST your first alert.