Skip to content

Queries

Overzicht van alle beschikbare queries met voorbeelden.
Endpoint: POST https://graphql.persmonitor.nl/graphql


sessionValid

Geeft terug of de huidige sessie nog geldig is (of iemand nog ingelogd is). Handig voor de frontend om bij opstarten te checken of de gebruiker nog als ingelogd moet worden getoond. Stuur de session-cookie mee; response is true of false.

Geen argumenten.

Voorbeeld:

graphql
query SessionValid {
  sessionValid
}

Variabelen: niet nodig. true = nog ingelogd, false = niet ingelogd of sessie verlopen.


me

Geeft de huidige ingelogde gebruiker terug. Vereist dat de request de session-cookie meestuurt (na een eerdere login). Zonder cookie of met ongeldige sessie: me is null.
Tip: gebruik sessionValid voor een snelle check of de sessie nog geldig is; gebruik me als je de user-gegevens nodig hebt.

Geen argumenten.

Voorbeeld:

graphql
query Me {
  me {
    uuid
    displayName
    created
    changed
    email { address verified }
    hasPassword
  }
}

Variabelen: niet nodig. Stuur de session-cookie mee (bijv. Cookie-header) om de ingelogde user te krijgen.


p2000Messages

Haalt een lijst van P2000-berichten op. Ondersteunt paginering (first, page) en optioneel filter (filter).

Argumenten:

ArgumentTypeVerplichtBeschrijving
firstIntNee (default: 10)Aantal resultaten per pagina.
pageIntNee (default: 1)Paginanummer.
filterP2000MessageFilterInputNeeZie Filters: sended (datumbereik from/to) en/of capcodes (lijst capcode-UUIDs).

Voorbeeld:

graphql
query GetP2000Messages($first: Int, $page: Int, $filter: P2000MessageFilterInput) {
  p2000Messages(first: $first, page: $page, filter: $filter) {
    uuid
    message
    sended
    created
    changed
    capcodes {
      uuid
      name
    }
  }
}

Variabelen (optioneel) – uitgebreide filter:

json
{
  "first": 10,
  "page": 1,
  "filter": {
    "sended": {
      "from": "2025-01-01T00:00:00Z",
      "to": "2025-12-31T23:59:59Z"
    },
    "capcodes": ["uuid-capcode-1", "uuid-capcode-2"]
  }
}

Je kunt alleen sended, alleen capcodes, of beide gebruiken. Alle opties staan in Filters.


p2000Message

Haalt één P2000-bericht op via UUID.

Argumenten:

ArgumentTypeVerplichtBeschrijving
uuidString!JaUUID van het bericht.

Voorbeeld:

graphql
query GetP2000Message($uuid: String!) {
  p2000Message(uuid: $uuid) {
    uuid
    message
    sended
    created
    changed
    capcodes {
      uuid
      name
    }
  }
}

Variabelen:

json
{
  "uuid": "plak-hier-de-uuid-van-een-bericht"
}

p2000Capcodes

Haalt een lijst van P2000-capcodes op. Ondersteunt paginering en optioneel filter.

Argumenten:

ArgumentTypeVerplichtBeschrijving
firstIntNee (default: 10)Aantal resultaten per pagina.
pageIntNee (default: 1)Paginanummer.
filterP2000CapcodeFilterInputNeeZie Filters: sended (datumbereik) en/of capcodes (lijst UUIDs).

Voorbeeld:

graphql
query GetP2000Capcodes($first: Int, $page: Int, $filter: P2000CapcodeFilterInput) {
  p2000Capcodes(first: $first, page: $page, filter: $filter) {
    uuid
    name
    created
    changed
    discipline {
      uuid
      name
    }
  }
}

Variabelen (optioneel) – met filter:

json
{
  "first": 20,
  "page": 1,
  "filter": {
    "sended": {
      "from": "2025-01-01T00:00:00Z",
      "to": "2025-12-31T23:59:59Z"
    },
    "capcodes": ["uuid-1", "uuid-2"]
  }
}

Zonder filter: "filter": {} of weglaten. Uitgebreide uitleg: Filters.


p2000Capcode

Haalt één P2000-capcode op via UUID.

Argumenten:

ArgumentTypeVerplichtBeschrijving
uuidString!JaUUID van de capcode.

Voorbeeld:

graphql
query GetP2000Capcode($uuid: String!) {
  p2000Capcode(uuid: $uuid) {
    uuid
    name
    created
    changed
    discipline {
      uuid
      name
    }
  }
}

Variabelen:

json
{
  "uuid": "plak-hier-de-uuid-van-een-capcode"
}

Queries voor organization en environment (bijv. op UUID) zijn nog niet geïmplementeerd.