← Blueprints

BLUEPRINT · api-health-sentinel

API health sentinel

Polls a status endpoint and alerts only when the status changes — you hear about the outage once, and you hear when it recovers. No LLM, free to run. Ships watching Anthropic's status page; point it at any Statuspage JSON.

Runs
every 5 minutes
Leash
required

How it decides

  1. OBSERVE · source http_fetch
  2. FILTER · gate fast_path_diff
  3. REASON · reason no model
  4. ACT · act notify_webhook ●write_state

● = touches the outside world (leashed by default)

What it costs

No model calls. Alerts on change, both directions.

What you'll need

WEBHOOK_URL

Make it yours

Ships watching Anthropic's status page; point it at any Statuspage JSON.

sources.status.url
https://status.anthropic.com/api/v2/status.json

Full YAML

blueprints/api-health-sentinel.yaml
# A zero-LLM status watcher: polls a Statuspage-style JSON endpoint and alerts
# only when the status indicator CHANGES (up→down and down→up both alert).
blueprint:
  id: api-health-sentinel
  title: API health sentinel
  description: >-
    Polls a status endpoint and alerts only when the status changes — you hear
    about the outage once, and you hear when it recovers. No LLM, free to run.
    Ships watching Anthropic's status page; point it at any Statuspage JSON.
config:
  synth:
    name: Health sentinel
    goal: Alert me when the service's status changes, in either direction.
    schedule_seconds: 300
  requires_credentials:
    - WEBHOOK_URL
  sources:
    - id: status
      primitive: http_fetch
      config:
        url: https://status.anthropic.com/api/v2/status.json
        json: true
  fast_path:
    primitive: fast_path_diff
    inputs:
      current: $sources.status.json.status.indicator
      previous: $state.last_indicator
  actions:
    - if: $fast_path.triggered
      primitive: notify_webhook
      config:
        url: $secrets.WEBHOOK_URL
        body:
          alert: Service status changed
          now: $sources.status.json.status.description
          change: $fast_path.diff
    - always: true
      primitive: write_state
      config:
        last_indicator: $sources.status.json.status.indicator
        checked_at: $tick.started_at

Install

In the control room

Blueprints → API health sentinel → Shadow, then Deploy.

To change something first (see Make it yours): View config, copy the JSON, and paste it into + Install a Synth.

With your AI

Ask: "Clone the api-health-sentinel blueprint." It uses caedos_blueprints, then validates, shadows and deploys.

Related use case