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 bevat current en limit.
  • 429 — rate limited (handmatige controles). Wacht en probeer opnieuw na de vertraging in Retry-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 padBeschrijving
GET /api/monitorsLijst de monitors in uw organisatie op.
POST /api/monitorsMaak éé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-nowPlaats een onmiddellijke controle in de wachtrij, met omzeiling van de planning (rate limited, zie hieronder).
GET /api/monitors/{id}/changesLijst gedetecteerde wijzigingen voor een monitor op (ondersteunt ?limit=, max 100).
POST /api/monitors/importBulkimport via multipart CSV-upload (file-veld).
POST /api/monitors/bulk-pause, bulk-resume, bulk-deletePas een actie toe op een lijst met monitor-ids.
GET|PUT /api/monitors/{id}/alert-channelsLees of vervang de kanaaloverrides van een monitor.
GET /api/alert-channelsLijst meldingskanalen op.
POST /api/alert-channelsMaak een kanaal aan.
PATCH|DELETE /api/alert-channels/{id}Werk een kanaal bij of verwijder het.
POST /api/alert-channels/{id}/testStuur een testpayload om de bezorging te verifiëren.
GET|POST /api/sitemap-monitorsLijst sitemap-monitors op of maak ze aan.
POST /api/sitemap-monitors/importMaak sitemap-monitors in bulk aan via multipart CSV-upload (file-veld).
GET|POST|DELETE /api/tokensLijst API-sleutels op, maak ze aan en verwijder ze.
GET /api/billing/planHet huidige abonnement en de limieten van uw organisatie.
GET /api/plansOpenbaar — 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.

API-referentie · Documentatie · Page Deltas