Appearance
Queries
Overzicht van alle beschikbare queries met voorbeelden.
Endpoint: POST https://graphql.persmonitor.nl/graphql
sessionValid
Geeft terug of de token nog geldig is. Stuur de token mee in de header Authorization: Bearer <token>. Handig voor de frontend om te checken of de gebruiker nog als ingelogd moet worden getoond. Response is true of false. Zie Token of cookie: hoe stuur je mee? voor hoe je de token of session-cookie meestuurt.
Geen argumenten.
Voorbeeld:
graphql
query SessionValid {
sessionValid
}Variabelen: niet nodig. Header: Authorization: Bearer <token>. true = token geldig, false = niet ingelogd of token verlopen.
me
Geeft de huidige gebruiker terug op basis van de token. Stuur de token mee in de header Authorization: Bearer <token>. Zonder token of met ongeldige token: me is null. Zie Token of cookie: hoe stuur je mee? voor hoe je de token of session-cookie meestuurt.
Tip: gebruik sessionValid voor een snelle check; gebruik me als je de user-gegevens nodig hebt.
Geen argumenten.
Voorbeeld:
graphql
query Me {
me {
uuid
displayName
created
changed
email { address verified }
hasPassword
isAdmin
}
}Variabelen: niet nodig. Header: Authorization: Bearer <token>. isAdmin is true voor admin-accounts en bepaalt o.a. toegang tot alle environments.
mySessions
Geeft alle actieve sessies (AuthSessions) voor de huidige gebruiker terug. Handig voor een “Waar ben ik ingelogd?”-overzicht en om sessies op afstand te beëindigen. Vereist Authorization: Bearer <token>.
Geen argumenten.
graphql
query MySessions {
mySessions {
uuid
ipAddress
userAgent
lastActivityAt
expiresAt
isCurrent
}
}Combineer dit met deleteSession of deleteOtherSessions (zie Mutations) om sessies op te ruimen.
currentEnvironment
Geeft het environment terug dat momenteel aan je token is gekoppeld. De monitor-app gebruikt dit voor de environment-switcher.
Vereist: Authorization: Bearer <token>.
Default: Als de sessie nog geen environment heeft, kiest de API automatisch het eerste environment waar je toegang toe hebt (alfabetisch op org- en env-naam) en koppelt dat aan je sessie.
Geen argumenten.
graphql
query CurrentEnvironment {
currentEnvironment {
uuid
name
}
}Gebruik de mutatie setCurrentEnvironment(environmentUuid: String!) om te wisselen.
p2000Messages
Haalt een lijst van P2000-berichten op. Ondersteunt paginering (first, page) en optioneel filter (filter).
Argumenten:
| Argument | Type | Verplicht | Beschrijving |
|---|---|---|---|
first | Int | Nee (default: 10) | Aantal resultaten per pagina. |
page | Int | Nee (default: 1) | Paginanummer. |
filter | P2000MessageFilterInput | Nee | Zie 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:
| Argument | Type | Verplicht | Beschrijving |
|---|---|---|---|
uuid | String! | Ja | UUID 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:
| Argument | Type | Verplicht | Beschrijving |
|---|---|---|---|
first | Int | Nee (default: 10) | Aantal resultaten per pagina. |
page | Int | Nee (default: 1) | Paginanummer. |
filter | P2000CapcodeFilterInput | Nee | Zie 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:
| Argument | Type | Verplicht | Beschrijving |
|---|---|---|---|
uuid | String! | Ja | UUID 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"
}myOrganizations
Geeft alle organisaties terug waar de huidige gebruiker lid van is. Inclusief per organisatie de gekoppelde environments. Vereist Authorization: Bearer <token>.
Geen argumenten.
graphql
query MyOrganizations {
myOrganizations {
uuid
name
created
changed
environments {
uuid
name
organization { name }
}
}
}De monitor-app gebruikt dit voor de organisatie- en environment-switcher.
channels
Geeft alle kanalen (e-mail, SMS, Telegram, webhook, etc.) terug voor het huidige environment. Vereist Authorization: Bearer <token>.
Geen argumenten.
graphql
query Channels {
channels {
uuid
type
name
created
changed
emailAddress
verified
phoneNumber
url
headers { name value }
}
}monitors
Geeft alle P2000-monitoren terug voor het huidige environment. Vereist Authorization: Bearer <token>.
Geen argumenten.
graphql
query Monitors {
monitors {
uuid
name
description
active
type
query
location
locationMode
locationLiveSourceId
radius
channels
notificationRules
created
changed
}
}query, channels en notificationRules zijn JSON-strings. query bevat de filtergroepen (array van condities). channels is een object per type (email, sms, telegram, etc.) met arrays van channel-UUIDs. notificationRules is een array van regels per kanaal.
monitor
Haalt één monitor op via UUID (binnen het huidige environment).
Argumenten:
| Argument | Type | Verplicht | Beschrijving |
|---|---|---|---|
uuid | String! | Ja | UUID van de monitor. |
graphql
query Monitor($uuid: String!) {
monitor(uuid: $uuid) {
uuid
name
description
active
type
query
location
locationMode
locationLiveSourceId
radius
channels
notificationRules
created
changed
}
}apiTokens
Geeft alle API-tokens terug voor het huidige environment. Vereist Authorization: Bearer <token>.
Geen argumenten.
graphql
query ApiTokens {
apiTokens {
uuid
name
tokenPreview
scopes
expiresAt
created
}
}tokenPreview is een korte weergave (bijv. eerste 4 + laatste 4 tekens). Het volledige token wordt alleen bij aanmaken getoond.
apiToken
Haalt één API-token op via UUID (binnen het huidige environment).
Argumenten:
| Argument | Type | Verplicht | Beschrijving |
|---|---|---|---|
uuid | String! | Ja | UUID van het token. |
graphql
query ApiToken($uuid: String!) {
apiToken(uuid: $uuid) {
uuid
name
tokenPreview
scopes
expiresAt
created
}
}apiScopes
Geeft alle beschikbare scopes terug voor API-tokens (bijv. auth:login, monitors:read). Vereist Authorization: Bearer <token>.
Geen argumenten.
graphql
query ApiScopes {
apiScopes {
name
description
}
}