API-referentie
Een kleine, stabiele REST-API voor het beheren van monitors en kanalen en het pollen op wijzigingen. Hetzelfde bereik als het dashboard.
Basis-URL
Productie: https://api.pagedeltas.com. Alle endpoints hebben het voorvoegsel /api. Geslaagde responses zijn JSON.
Authenticatie
Maak een sleutel aan via Settings → API keys (editor- of adminrol vereist). De sleutel wordt eenmalig getoond bij het aanmaken — kopieer hem onmiddellijk. Om een sleutel in te trekken, verwijdert u hem op dezelfde pagina.
Authorization: Bearer pdt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sleutels zijn beperkt tot de organisatie die ze heeft aangemaakt en handelen met toegang op adminniveau binnen die organisatie, onafhankelijk van een gebruiker. Ze zijn niet gekoppeld aan een lid, dus het verwijderen van een teamlid trekt de sleutels van de organisatie niet in — verwijder de sleutel zelf om de toegang af te snijden.
Fouten
Fouten retourneren een niet-2xx-status. Authenticatie- en rechtenfouten komen terug als een korte platte-tekstmelding (bijv. unauthorized, forbidden); quota- en rate-limit-fouten retourneren een kleine JSON-body met een bericht en de relevante getallen. Parse geen vaste fout-envelope — vertak op de HTTP-statuscode:
400— misvormd verzoek (ongeldige JSON, ongeldige URL, ontbrekend veld).401— ontbrekende of ongeldige inloggegevens.403— geauthenticeerd, maar uw rol heeft geen toestemming voor deze actie.404— resource ontbreekt of bevindt zich niet in uw organisatie.409— conflict (bijv. de monitor is gepauzeerd vanwege herhaalde blokkeringen).422— een quotum zou worden overschreden (bijv. de monitorlimiet van uw abonnement). De JSON-body bevatcurrentenlimit.429— rate limited (handmatige controles). Wacht en probeer opnieuw na de vertraging inRetry-After.
Voorbeeld van een quotafout (422):
{
"error": "plan_url_limit exceeded",
"current": 100,
"limit": 100,
"message": "Creating this monitor would exceed your plan's monitor limit (100)."
}Endpoint-referentie
| Methode en pad | Beschrijving |
|---|---|
GET /api/monitors | Lijst de monitors in uw organisatie op. |
POST /api/monitors | Maak één enkele monitor aan. |
GET /api/monitors/{id} | Haal één enkele monitor op. |
PATCH /api/monitors/{id} | Werk url, nl_description, filter_prompt, css_selector, xpath_selector, status bij. |
DELETE /api/monitors/{id} | Verwijder een monitor en zijn geschiedenis. |
POST /api/monitors/{id}/check-now | Plaats een onmiddellijke controle in de wachtrij, met omzeiling van de planning (rate limited, zie hieronder). |
GET /api/monitors/{id}/changes | Lijst gedetecteerde wijzigingen voor een monitor op (ondersteunt ?limit=, max 100). |
POST /api/monitors/import | Bulkimport via multipart CSV-upload (file-veld). |
POST /api/monitors/bulk-pause, bulk-resume, bulk-delete | Pas een actie toe op een lijst met monitor-ids. |
GET|PUT /api/monitors/{id}/alert-channels | Lees of vervang de kanaaloverrides van een monitor. |
GET /api/alert-channels | Lijst meldingskanalen op. |
POST /api/alert-channels | Maak een kanaal aan. |
PATCH|DELETE /api/alert-channels/{id} | Werk een kanaal bij of verwijder het. |
POST /api/alert-channels/{id}/test | Stuur een testpayload om de bezorging te verifiëren. |
GET|POST /api/sitemap-monitors | Lijst sitemap-monitors op of maak ze aan. |
POST /api/sitemap-monitors/import | Maak sitemap-monitors in bulk aan via multipart CSV-upload (file-veld). |
GET|POST|DELETE /api/tokens | Lijst API-sleutels op, maak ze aan en verwijder ze. |
GET /api/billing/plan | Het huidige abonnement en de limieten van uw organisatie. |
GET /api/plans | Openbaar — lijst beschikbare abonnementen op (geen authenticatie vereist). |
Voorbeeld — een monitor aanmaken
curl -X POST https://api.pagedeltas.com/api/monitors \
-H "Authorization: Bearer $PAGEDELTAS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/pricing",
"nl_description": "Competitor pricing; alert on plan or price changes",
"filter_prompt": "Alert on plan or price changes; ignore copy tweaks",
"channel_ids": []
}'Optionele velden: filter_prompt, css_selector, xpath_selector, is_pdf en channel_ids (kanaaloverrides per monitor; laat weg om de standaardinstellingen van de organisatie te gebruiken). Er is geen frequency — planning is adaptief.
Voorbeeld — pollen op wijzigingen
GET /api/monitors/01HW2X.../changes?limit=50 Authorization: Bearer $PAGEDELTAS_TOKEN
Retourneert de meest recente wijzigingen eerst (standaard 50, max 100). Er is geen cursor — pagineer door limit aan te passen en de laatste detected_at bij te houden die u al hebt gezien.
{
"changes": [
{
"id": "01HW3...",
"detected_at": "2026-06-01T08:42:00Z",
"summary": "Pro plan increased from $29 to $39/month."
}
]
}Rate limits
Er zijn momenteel geen rate limits per sleutel op de lees- en schrijf-endpoints. De enige uitzondering zijn handmatige controles:
- Check-now: 1 verzoek / minuut / monitor.
Wanneer u die limiet bereikt, is de respons 429 met een Retry-After-header in seconden. Beperk uzelf alstublieft ook op de andere endpoints verstandig.
Versiebeheer
Wij streven ernaar dit oppervlak stabiel te houden. Nieuwe velden en endpoints kunnen zonder kennisgeving worden toegevoegd, schrijf dus clients die onbekende JSON-velden negeren.