Monitors
Create customer-facing monitors on a ticker, CIK, form type, or event type. When a matching event is detected, Clous fires a signed webhook.
Monitors
A monitor is a standing watch on a company, form, or event type. When the events feed produces a matching event, Clous creates an alert and (if the monitor has a webhook endpoint) delivers a signed webhook. Monitors are scoped to your account.
- Base URL:
https://api.clous.ai - Auth:
Authorization: Bearer clous_live_...
Create a monitor
POST /v1/monitorsBody
Prop
Type
curl -s -X POST "https://api.clous.ai/v1/monitors" \
-H "Authorization: Bearer clous_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "NVIDIA material changes",
"target_type": "ticker",
"target_value": "NVDA",
"signals": ["sec.filing.new", "sec.8k.executive_change", "sec.form4.insider_sell"],
"materiality": "medium",
"webhook_endpoint_id": "7b1ff0c8-fe92-421f-b8ed-ffa246d394de"
}'import requests
resp = requests.post(
"https://api.clous.ai/v1/monitors",
headers={"Authorization": "Bearer clous_live_..."},
json={
"name": "NVIDIA material changes",
"target_type": "ticker",
"target_value": "NVDA",
"signals": ["sec.filing.new", "sec.8k.executive_change", "sec.form4.insider_sell"],
"materiality": "medium",
"webhook_endpoint_id": "7b1ff0c8-fe92-421f-b8ed-ffa246d394de",
},
)
monitor = resp.json()["data"][0]List monitors
GET /v1/monitorsExample response
{
"data": [
{
"id": "9107bc79-2e59-40f1-905e-7d3267563ecc",
"name": "NVIDIA material changes",
"target_type": "ticker",
"target_value": "NVDA",
"signals": ["sec.filing.new", "sec.8k.executive_change"],
"materiality": "medium",
"status": "active",
"webhook_endpoint_id": "7b1ff0c8-fe92-421f-b8ed-ffa246d394de",
"created_at": "2026-06-13T16:27:30.726813+00:00"
},
{
"id": "7ba98d87-0a1a-4782-a6d3-989074e970de",
"name": "All new 8-K filings",
"target_type": "form",
"target_value": "8-K",
"signals": [],
"materiality": "low",
"status": "active",
"webhook_endpoint_id": null
}
],
"page": { "limit": 25, "next_cursor": null, "has_more": false },
"source": "clous_monitoring",
"warnings": []
}Get, pause/resume, delete
GET /v1/monitors/{monitor_id}
PATCH /v1/monitors/{monitor_id}
DELETE /v1/monitors/{monitor_id}PATCH accepts name, status (active | paused), signals, materiality,
and webhook_endpoint_id. Pause a monitor without deleting it:
curl -s -X PATCH "https://api.clous.ai/v1/monitors/9107bc79-..." \
-H "Authorization: Bearer clous_live_..." \
-H "Content-Type: application/json" \
-d '{ "status": "paused" }'How matching works
A monitor fires when an event matches all of:
- Target —
target_type/target_valuematches the event's entity (ticker / CIK), itsdetails.form, or the exactevent_type. - Signal — the event's type is in
signals(orsignalsis empty). - Materiality — the event's
importanceis at or above the monitor'smateriality.
Matches create an alert (deduplicated per event) and, if a webhook_endpoint_id
is set, a signed webhook delivery.
Status codes
| Status | Meaning |
|---|---|
200 | Success. |
400 | Invalid target_type, status, or an unknown signal. |
401 | Missing or invalid API key. |
404 | No monitor with that id under your account. |
Events feed
Query the stream of normalized, evidence-backed SEC business-change events — new filings, leadership and auditor changes, insider sells, Form D raises, and more.
Webhooks
Register signed webhook endpoints, receive monitor-matched events in real time, verify the HMAC signature, and read the delivery log.