Přehled API
Používejte veřejné API ke správě monitorů, snapshotů a webhooků programově.
Vše, co zvládnete v UI, lze automatizovat také přes veřejné API.
Autentizace
- Bearer tokeny vytvořené v dashboardu.
- U každého requestu posílejte
Authorization: Bearer <token>. - Rate limity platí per org i per endpoint.
Běžné endpointy
POST /api/monitorspro vytvoření monitoru.GET /api/monitors/{id}/diffspro načtení historie změn.POST /api/webhooks/worker/runpro spuštění testovací delivery.
curl -H "Authorization: Bearer $TOKEN" \
https://api.diffmon.example.com/api/monitorsChyby
Chyby obsahují request ID a machine-readable kódy, takže je můžete opakovat nebo smysluplně zobrazit upstreamu.
Příklady diffů
Když DiffMon detekuje změnu, odpověď diffu obsahuje klasifikaci, závažnost a detaily změn per cesta. Tyto příklady ukazují, co očekávat při dotazování API.
API monitor — detekována změna schématu
Odpověď GET /api/monitors/{id}/diffs/{diffId} pro JSON endpoint, kde se změnilo schéma:
{
"id": "dif_01JX8M79YQ",
"monitorId": "mon_api_prices",
"classification": "schema_change",
"schemaChanges": 2,
"valueChanges": 1,
"topSeverity": "critical",
"diffFingerprint": "sha256:7a8c…",
"changes": [
{
"path": "$.items[*].price",
"category": "schema",
"op": "replace",
"severity": "critical",
"detail": "number → string"
},
{
"path": "$.items[*].currency",
"category": "schema",
"op": "add",
"severity": "medium"
},
{
"path": "$.generatedAt",
"category": "value",
"op": "replace",
"severity": "info"
}
],
"requestId": "req_9f8bc",
"status": 200,
"latencyMs": 210,
"createdAt": "2026-02-11T10:15:31Z"
}Klíčová pole: classification udává celkový typ změny, topSeverity je nejvyšší závažnost across all changes a každý záznam v changes poskytuje kontext na úrovni cesty. Viz Smart Schema Validation pro úplný model závažnosti.
Website monitor — detekována změna DOM
Odpověď GET /api/monitors/{id}/diffs/{diffId} pro website monitor využívající Browser Render:
{
"id": "dif_01JX8P0MW2",
"monitorId": "mon_site_pricing",
"classification": "content_change",
"summary": {
"additions": 1,
"removals": 1,
"modifications": 2
},
"changedTargets": [
"#app .hero h1",
"link[rel='canonical']"
],
"diffFingerprint": "sha256:4bc1…",
"requestId": "req_6p2ad",
"status": 200,
"latencyMs": 480,
"browserRender": true,
"waitStrategy": "networkidle",
"selector": "#app",
"createdAt": "2026-02-11T10:15:31Z"
}Diffy webů obsahují kontext vykreslení (browserRender, waitStrategy, selector), abyste mohli reprodukovat přesné podmínky, které změnu vyvolaly.
Webhook event envelope
Když jsou nakonfigurovány webhooky, DiffMon doručí event diff.detected se stejnými daty změn uvnitř podepsaného envelope:
{
"schemaVersion": "v1",
"eventVersion": 1,
"eventId": "evt_01JX8M7A2K",
"eventType": "diff.detected",
"occurredAt": "2026-02-11T10:15:31Z",
"deliveredAt": "2026-02-11T10:15:32Z",
"monitorId": "mon_api_prices",
"diffId": "dif_01JX8M79YQ",
"snapshotId": "snp_01JX8M6ZK0",
"data": {
"classification": "schema_change",
"schemaChanges": 2,
"valueChanges": 1,
"changes": [
{
"path": "$.items[*].price",
"category": "schema",
"op": "replace",
"severity": "critical"
},
{
"path": "$.items[*].currency",
"category": "schema",
"op": "add",
"severity": "medium"
}
]
}
}Použijte eventId pro idempotenci a diffId pro načtení úplného diffu přes API. Viz Webhooks pro HMAC ověření, retry plán a typy eventů.
Browser Render přes API
U monitorů URL náročných na JavaScript nastavte při vytváření nebo update browserOptions.
- Pole requestu:
browserOptions - Ukládané a vracené pole monitoru:
browserOptionsJson
Platné tvary options, příklady a error codes najdete v docs Browser Render.
Policy Rules přes API
Policy Rules se konfigurují přes nastavení monitoru:
GET /api/monitors/{id}/settingsnačtepolicyRulesJsonPATCH /api/monitors/{id}/settingsspolicyRulesnahradí celý rule set
Použijte rules: [] pro vyčištění pravidel. Vynechte policyRules, pokud chcete uložená pravidla nechat beze změny.
Schéma pravidel a chování popisují Policy rules.