The monitoring API is live, in beta. The core pipeline (watches →
alerts → webhooks) is production-grade; a few v1.1 features (digest
delivery, historical replay-from-date) are not shipped yet. See
Known beta limitations for the
full list and current latency expectations.
The three building blocks
| What it is | When you touch it | |
|---|---|---|
| Watch | A saved query. Signa runs it on every ingestion sync and produces alerts for matches. | When you decide what to track. |
| Alert | An immutable record of one match. Carries the trademark, the event that triggered it, severity, and a deadline if applicable. | When you process matches in your application. |
| Webhook | A signed POST to a URL you control, delivered every time an alert fires. | When you want push instead of polling. |
The five watch types
Pick from five watch types —mark, portfolio, owner, class, or similarity. See Watches for the full query DSL, the required field for each type, and worked examples.
What an alert looks like
Each alert carries the trademark, the event that produced it, a severity, and where applicable a jurisdiction-aware opposition deadline.opposition_window_status and must_act_by are computed for you. Route on severity to escalate the matches that need urgent attention.
Choosing how alerts reach you
| Mode | How it works | Best for |
|---|---|---|
| Webhook (push) | Signa posts each alert to a URL you control. HMAC-signed, retried up to seven times with exponential backoff. | Production workflows, low latency, on-call paging. |
| Polling (pull) | Your code calls GET /v1/alerts on a schedule. | Prototypes, internal tools, low volume. |
| Webhook + reconciliation | Push for latency, plus a daily call to POST /v1/alerts/lookup to confirm nothing was lost. | Production workflows that can’t tolerate a missed alert. |
What’s next
Create your first watch
Pick a watch type, build the query, preview the volume before you go live.
Set up a webhook
Register an endpoint, verify signatures, handle retries and rotation.
Pipe alerts into Slack
A copy-pasteable Cloudflare Worker or AWS Lambda recipe.
Troubleshoot a missing alert
Use the diagnostics endpoint to find out exactly why an alert didn’t fire.