Breacer Notify My keys

The Breacer Notify API

Four endpoints, one key. Alerts made through the API run through the same limits, plan gates and safety checks as alerts made on the dashboard, and they fire the same way.

Authentication

Every request carries an API key in the Authorization header. Keys start with brc_, are shown once when made, and live on the dashboard under API. A revoked key answers 401 from that moment on.

Authorization: Bearer brc_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Create an alert

The quickest form uses a recipe from the catalogue (GET /api/catalog lists them, with their id and parameters). The catalogue route costs no AI tokens.

curl -X POST https://notify.breacer.com/api/v1/triggers \
  -H "Authorization: Bearer $BREACER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "catalogus_id": "bitcoin_prijs",
    "parameters": { "richting": "onder", "drempel": 50000 },
    "check_interval_minutes": 60,
    "repeat_mode": "once",
    "notify_email": true
  }'

The explicit form names the source and the condition yourself. The fields are the ones the dashboard sends: subject, source_type (crypto, stock, fiat, watch_url, rss, reminder, domain, nieuws), the source field for that type, and condition in plain English.

curl -X POST https://notify.breacer.com/api/v1/triggers \
  -H "Authorization: Bearer $BREACER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "original_text": "ethereum drops below 2000",
    "subject": "Ethereum below 2,000 USD",
    "source_type": "crypto",
    "crypto_query": "ethereum",
    "condition": "price < 2000",
    "currency": "USD",
    "check_interval_minutes": 60,
    "repeat_mode": "once",
    "notify_email": true,
    "notify_webhook": true,
    "webhook_url": "https://example.com/hooks/breacer"
  }'

A successful answer carries the new id, a confirmation message and eerste_controle with the moment of the first check. A refused answer carries error and, when a field is missing, ontbreekt with the field names.

List your alerts

curl https://notify.breacer.com/api/v1/triggers \
  -H "Authorization: Bearer $BREACER_KEY"

Answers { "ok": true, "triggers": [ … ] } with the public fields of each alert: id, subject, source, condition, status, interval, the last seen value and when it was last checked and last fired. Webhook URLs and value history are never included.

Delete an alert

curl -X DELETE "https://notify.breacer.com/api/v1/triggers?id=123" \
  -H "Authorization: Bearer $BREACER_KEY"

The alert stops first and is removed after that, in one request. An id that is not on your account answers 404.

Outgoing webhooks

An alert with notify_webhook posts a JSON body to your URL when it fires, signed with X-Breacer-Signature (HMAC-SHA256 over the timestamp and the body) and carrying an event_id, so a retried delivery is recognisable. Private and internal addresses are refused when the alert is made and again when it fires.

REST hooks (Zapier, Make, n8n)

A hook receives every alert of your account, whichever channels the alert itself picked. Subscribe once, and each firing arrives as a signed JSON POST with a stable event_id. Hooks count as channels: Free has one, Notify Pro ten.

curl -X POST https://notify.breacer.com/api/v1/hooks \
  -H "Authorization: Bearer brc_…" \
  -H "Content-Type: application/json" \
  -d '{"target_url": "https://hooks.zapier.com/hooks/catch/…"}'

curl https://notify.breacer.com/api/v1/hooks?sample=1 \
  -H "Authorization: Bearer brc_…"          # one sample payload

curl -X DELETE "https://notify.breacer.com/api/v1/hooks?id=<uuid>" \
  -H "Authorization: Bearer brc_…"

The payload is the generic webhook format: event_id, trigger_id, subject, message, original_text, matched_value, fired_at. Three permanent failures in a row switch a hook off; it stays in the list with the reason.

Limits

WhatFreeNotify Pro
API keys15
Active alerts3100
Requests per minute6060
Check every 1, 5 or 15 minutesyes

Over the limit answers 429 with a Retry-After hint of a minute; over the alert limit answers 403 with the reason.

Errors

StatusMeaning
400The body or the id could not be read.
401No key, an unknown key, or a revoked key.
403A plan gate: the alert limit, or a Pro-only interval or feature.
404No alert with that id on this account.
422The alert is understood but a value is missing or invalid; the answer says which.
429Too many requests this minute.
503Breacer is briefly unavailable; the answer carries Retry-After.

Machine-readable

The same endpoints as an OpenAPI 3 document: /openapi.json.