Documentation Index
Fetch the complete documentation index at: https://docs.signa.so/llms.txt
Use this file to discover all available pages before exploring further.
What monitoring does
Signa monitoring turns ingestion into a stream of customer-relevant events. Every record we store passes through a watch evaluator on the same sync that indexes it; matches produce immutableAlert rows and (optionally)
push deliveries to your webhook endpoint. By the time a new mark is
searchable in our index, your watch alerts have already fired.
The platform was designed around four things our customers told us
mattered most:
- Coverage. 21 international offices, 24 jurisdiction-specific opposition-window engines, and a deadline rules engine that knows the difference between USPTO Section 8+9 and DPMA’s end-of-month rule.
- Latency. Alerts are produced inside the same sync run as the data — not minutes later by a separate job that scans for changes.
- Faithfulness. Alerts snapshot the trademark version at evaluation time. They do not change. Your audit trail is yours, not ours.
- Operability. Webhooks are signed (Standard Webhooks), retried with exponential backoff, auto-disabled after sustained failure, and rotatable with a 24-hour overlap.
The five watch types
A singlequery shape covers every monitoring use case. The watch_type
field tells the evaluator which match dimension to optimize for; the
query.match object carries the type-specific descriptor.
| Type | Use case | Match descriptor |
|---|---|---|
mark | Track a specific mark you own (renewals, opposition windows, status drift). | { trademark_id: "tm_..." } |
portfolio | Watch every mark in a saved portfolio at once. | { portfolio_id: "ptf_..." } |
owner | Track a competitor by entity. | { owner_id: "own_..." } or { owner_name: "Acme" } |
class | Watch new filings in a Nice class (or set of classes), optionally by jurisdiction. | { nice_classes: [9, 42] } |
similarity | Confusingly-similar mark detection — the CompuMark replacement. | { reference_mark: "ACME", strategies: ["phonetic", "fuzzy"] } |
How the pipeline works
POST /v1/watches/{id}/replay)
bumps the evaluation_epoch and forces re-evaluation of every watched
office on the next sync.
What you get
- Watches: create, pause, bulk, preview.
- Alerts: read-only list and
lookup by ID; rich
must_act_byandopposition_window_statusfields. - Webhooks: signed POSTs, rotation with overlap, redelivery for missed events, SDK helper for verification.
Where to start
- New to opposition windows? Read Opposition windows.
- Setting up your first webhook? Webhooks
- Polling instead of pushing? Alert handling.
- Want a worked example? Slack via webhook.