Naar inhoud

Changelog ​

Alle belangrijke wijzigingen in de Persmonitor GraphQL API en documentatie. Volg updates via de RSS feed (handig voor SEO-crawlers en AI-indexers).

Live endpoint: https://graphql.persmonitor.nl/graphql
Docs: P2000 API · Kazerne-filter · Demo-data


[2.0.0] - 2026-10-03 ​

Auth verplicht + docs voor AI/SEO.

API ​

  • GraphQL vereist Bearer-auth voor alle requests (PERSMONITOR_GRAPHQL_REQUIRE_AUTH). Zonder token: HTTP 401.
  • Geldige tokens: API-token (scopes) of sessie access-token. Monitor-platformtokens van 64 tekens worden weer als API-token herkend.
  • refreshToken-mutatie mag door zonder access-auth (refresh-token als Bearer), zodat Monitor-sessies kunnen vernieuwen.
  • Publieke scrapers zonder token (o.a. via AI-proxies) krijgen geen data meer.

Documentatie / product ​


[Unreleased] ​

Documentatie / UI ​

  • Dunne pagina's samengevoegd (SEO #6): /reference/queries en /guide/brandweer-api verwijderd; inhoud op API-overzicht respectievelijk P2000 API (kazerne-filter). Permanente 301-redirects (querystring behouden).
  • Interne/admin-only datasources (niet voor publicatie) staan alleen nog onder /internal/ en niet meer in de publieke API, filters of LLM-spec.
  • Navigatie herstructureerd: publieke API opgesplitst per onderwerp (P2000, brandweer, KNMI, alerts, aircraft, wegen, …) i.p.v. één lange Queries-pagina.
  • Volledige API-dekking: 127 queries, 88 mutations en 66 input types gedocumenteerd (publiek + intern).
  • Interne docs opgesplitst: queries en mutations per onderwerp (auth, monitors, kanalen, organisaties, admin, …).
  • Schema-sync: npm run sync-schema-docs exporteert live GraphQL schema en regenereert reference-pages.
  • Filters-pagina uitgebreid met alle input types uit het schema.
  • API voor AI/LLM (publiek + volledig) gesynchroniseerd met het live schema.

API ​

  • Sessies worden opgeslagen als AuthSession in Neo4j (met device-info, relatie naar environment).
  • Nieuwe queries: mySessions, currentEnvironment, myOrganizations, channels, monitors, monitor, apiTokens, apiToken, apiScopes.
  • Nieuwe mutations: deleteSession, deleteOtherSessions, setCurrentEnvironment, switchEnvironment, updateOrganization, createApiToken, updateApiToken, deleteApiToken, createChannel, deleteChannel, createMonitor, updateMonitor, deleteMonitor, requestPasswordReset, resetPassword.
  • Login retourneert token (access) + refreshToken; me heeft isAdmin.
  • Environment-switchers gebruiken switchEnvironment (nieuwe tokens) of setCurrentEnvironment (zelfde sessie).
  • Artisan-command php artisan neo4j:indexes om alle constraints/indexes aan te maken.
  • Password-reset end-to-end: requestPasswordReset stuurt reset-mail + rate limiting; resetPassword wijzigt wachtwoord; Monitor-UI op /password/forgot en /password/reset (TS-10 / TS-11).

Documentatie / UI ​

  • Guide uitgebreid met sessies in Neo4j, environment per sessie en debug_auth.
  • Documentatie voor alle queries/mutations toegevoegd (incl. API-tokens, kanalen, wachtwoord-reset).
  • API voor AI/LLM en index.md bijgewerkt met volledige operatielijst.
  • Password-reset in mutations/API-spec als geïmplementeerd gedocumenteerd (mail, rate limits, Monitor-UI).

[1.0.0] - 2025-02-03 ​

API ​

  • GraphQL endpoint https://graphql.persmonitor.nl/graphql in gebruik.
  • Queries: p2000Messages, p2000Message, p2000Capcodes, p2000Capcode met paginering en filters.
  • Filters: P2000MessageFilterInput (sended, capcodes), P2000CapcodeFilterInput (sended, capcodes), DateRangeInput (from, to).
  • Mutations: register (organisatie + environment + user), createOrganization, createEnvironment, createP2000Message.
  • Bij release: openbaar GraphQL-endpoint zonder session-auth; Bearer/API-token-auth en password-reset kwamen later (zie Unreleased).

Documentatie / UI ​

  • Docs-site op docs.persmonitor.nl (VitePress).
  • Guide (getting started), Queries, Filters, Mutations, API voor AI/LLM.
  • Raw Markdown-specificatie op /api-spec.md (gegenereerd uit één bron).

Formaat: Keep a Changelog. Versies volgen Semantic Versioning.