Skip to content

Getting started

Endpoint

Stuur alle GraphQL-requests als POST naar:

https://graphql.persmonitor.nl/graphql

Body (JSON):

json
{
  "query": "query { ... } of mutation { ... }",
  "variables": { }
}

variables is optioneel.

Voorbeeld (curl)

bash
curl -X POST https://graphql.persmonitor.nl/graphql \
  -H "Content-Type: application/json" \
  -d '{"query":"query { __typename }"}'

Authenticatie

Login en register vereisen een API-token met scope auth:login / auth:register. Maak aan met php artisan api-token:create.

Overige operaties (logout, sessionValid, me, refreshToken, etc.) vereisen een session-token. Die krijg je via de login-mutatie (of refreshToken om de sessie te verlengen).

Stuur de token mee in de header:

Authorization: Bearer <token>

Zie Auth, sessie & heartbeat voor het volledige flow (monitor-app: session, cookie, heartbeat).

Neo4j-indexes aanmaken

De GraphQL API gebruikt Neo4j voor users, organisaties, environments en sessies. Na het opzetten van een nieuwe database kun je alle benodigde indexes/constraints in één keer aanmaken met:

bash
php artisan neo4j:indexes

Deze Artisan-command maakt o.a. unieke uuid-constraints, een unique index op AuthSession.tokenHash en named indexes op velden zoals Organization.name. Het is veilig om het commando opnieuw te draaien; alles gebruikt IF NOT EXISTS.