brily
Getting started

Quickstart: monitor to public status page in 90 seconds.

This walkthrough assumes you have an invite code. If you don't, join the waitlist. Total time: under two minutes, and you'll end with a working monitor that can page you and a public status page on a brily.online subdomain.

Step 1: Claim your invite

Open the invite link from your email. This creates your organisation, your first project, and issues an API token scoped to that project. Copy the token — you'll paste it in step 3.

Step 2: Add your first monitor (UI)

In the dashboard, go to Monitors → New monitorand pick a template. The "Homepage + health" template creates two monitors at once: one against your root URL, one against /api/health. Both run from three probe regions with 2-of-3 quorum by default.

Step 3: Add a monitor (API)

If you prefer code to clicks — or if you're setting up monitors-as-code from a CI pipeline — use the API:

curl -X POST https://api.brily.app/v0/monitors \
  -H "Authorization: Bearer $BRILY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "homepage",
    "url": "https://example.com",
    "method": "GET",
    "interval_seconds": 60,
    "regions": ["fra", "hel", "ams"],
    "quorum": 2,
    "assertions": [
      { "type": "status", "operator": "eq", "value": 200 },
      { "type": "body_contains", "value": "Sign in" }
    ]
  }'

TypeScript, using the SDK (available with public beta):

import { Brily } from "@brily/sdk";

const brily = new Brily({ token: process.env.BRILY_TOKEN! });

await brily.monitors.create({
  name: "homepage",
  url: "https://example.com",
  interval_seconds: 60,
  regions: ["fra", "hel", "ams"],
  quorum: 2,
  assertions: [
    { type: "status", operator: "eq", value: 200 },
    { type: "body_contains", value: "Sign in" },
  ],
});

Step 4: Wire up Slack alerts

In Settings → Integrations → Slack, connect your workspace. Then under Alerts → Routes, create a route:

  • Severity: P1 (outage)
  • Channel: #ops-alerts
  • Time window: 24/7

And a second, lower-severity route:

  • Severity: P2-P3 (degraded, warnings)
  • Channel: #ops-digest
  • Time window: business hours

Step 5: Publish a status page

Go to Status pages → New page. By default your page goes live at https://your-project.brily.online. Add a custom domain later in Settings → Domain— we'll issue SSL automatically.

Components can be created manually or auto-derived from your monitors: tick "Create a component per monitor" during setup for the fast path. You'll refine grouping later.

Step 6: Test the whole thing

Temporarily break one of your monitors — the easiest way is to point it at a URL that returns 500. Within a minute you should see: Slack page in #ops-alerts, the monitor turn red in the dashboard, and a draft incident suggested for your status page. Click it, publish, and your status page goes yellow.

Point the monitor back at the working URL and publish a "Resolved" update. Congratulations — you just ran your first incident end-to-end.

Where to go next

  • API reference — every endpoint, every field.
  • Monitors-as-code — for teams who want monitors in git.
  • Alert channels — Slack, Telegram, WhatsApp, and webhook setup guides.