---
openapi: 3.0.3
info:
  title: Grondwatermonitoringnet (GMN)
  description: "Landelijke Voorziening Basiregistratie Ondergrond (BRO), uitgifte\
    \ en validatie grondwatermonitoringnet (GMN)."
  contact:
    name: BRO Servicedesk
    url: https://basisregistratieondergrond.nl/service-contact/
    email: support@broservicedesk.nl
  version: 2.172.10
paths:
  /gm/gmn/v1/bro-ids:
    get:
      summary: Lijst van BRO-IDs
      description: "Haalt de lijst van GMN bro-ids op waarvoor [bronhouder](https://basisregistratieondergrond.nl/service-contact/formulieren/aangemeld-bro/)\
        \ verantwoordelijk is."
      operationId: bro-ids
      parameters:
      - name: bronhouder
        in: query
        description: Het kvk (kamer van koophandel) nummer van een bronhouder
        required: true
        schema:
          type: string
        example: 12345678
      - name: registered
        in: query
        description: "Registered is een optionele parameter, bij afwezigheid geeft\
          \ deze methode alle BRO-IDs terug onafhankelijk of die wel/niet uit registratie\
          \ zijn genomen. <BR>registered = ja geeft alleen BRO-IDs terug die in registratie\
          \ zijn genomen. <BR>registered = nee geeft alleen BRO-IDs terug die uit\
          \ registratie zijn genomen."
        schema:
          type: string
      responses:
        "200":
          description: De lijst van bro-ids voor dit registratie object type waarvoor
            bronhouder verantwoordelijk is.
          content:
            application/json: {}
        "400":
          description: Er bevinden zich andere fouten in het verzoek.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
  /gm/gmn/v1/networks:
    get:
      summary: Lijst van netwerken
      description: "NIET GEBRUIKEN, ZEER EXPERIMENTEEL. Haalt de lijst van GMN netwerken\
        \ op waarvoor een bronhouder verantwoordelijk is of die voldoen aan een monitoringdoel.\
        \ Tenminste één van de parameters 'bronhouder' of 'monitoringdoel' moet zijn\
        \ opgegeven."
      operationId: netwerken
      parameters:
      - name: bronhouder
        in: query
        description: Het kvk (kamer van koophandel) nummer van een bronhouder
        schema:
          type: string
        example: 12345678
      - name: monitoringdoel
        in: query
        description: Het doel waarvoor de monitoring in het grondwatermonitoringnet
          plaatsvindt.
        schema:
          type: string
        example: beheersingStedelijkGebied
      - name: meetpunten
        in: query
        description: Aanwezigheid van deze parameter geeft tevens de meetpunten terug.
          Dit mag alleen als je bronhouder en monitoringdoel opgeeft.
        schema:
          type: string
        allowEmptyValue: true
        example: ja
      responses:
        "200":
          description: De lijst van netwerken.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Networks"
        "400":
          description: Er bevinden zich andere fouten in het verzoek.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
  /gm/gmn/v1/objects/{broId}:
    get:
      summary: "Haalt een grondwatermonitoringnet (groundwater monitoring network,\
        \ GMN) op op basis van een BRO-ID"
      description: "Haal een grondwatermonitoringnet op op basis van een BRO-ID. De\
        \ operatie retourneert een object op basis van het BRO-ID als een 'O' (actuele\
        \ situatie), of 'DO' (uit registratie) als IMBRO XML. De andere variant 'O-DP'\
        \ is niet ondersteund omdat hier authenticatie / autorisatie voor nodig is\
        \ (er worden bronhouder gevoelige gegevens terug gegeven). Gebruik hiervoor\
        \ de 'DigiKoppeling' webservice. Zie [hier](https://www.bro-productomgeving.nl/bpo/latest/grondwatermonitoring/grondwatermonitoringnet-gmn/gmn-berichtencatalogus-uitgiftewebservice)\
        \ voor meer info."
      operationId: objects
      parameters:
      - name: broId
        in: path
        description: Het BRO-ID van het object.
        required: true
        content:
          text/plain:
            schema:
              type: string
      - name: requestReference
        in: query
        description: Een optionele referentie van de gebruiker. "-" wordt aangenomen
          bij afwezigheid.
        schema:
          type: string
        example: Mijn-object-aanvraag-000001
      - name: fullHistory
        in: query
        description: Aanwezigheid van deze parameter geeft het netwerk bij inrichting
          + de volledige geschiedenis terug. Afwezigheid de actuele situatie.
        schema:
          type: string
        allowEmptyValue: true
        example: ja
      responses:
        "200":
          description: Het aangevraagde registratie object dan wel een afwijzing van
            het verzoek.
          content:
            application/xml: {}
        "400":
          description: Er bevinden zich andere fouten in het verzoek.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
components:
  schemas:
    MeasuringPoint:
      type: object
      properties:
        pointCode:
          type: string
        monitoringTubes:
          type: array
          items:
            $ref: "#/components/schemas/MonitoringTube"
    MonitoringTube:
      type: object
      properties:
        broId:
          type: string
        tubeNumber:
          format: int32
          type: integer
    Network:
      type: object
      properties:
        broId:
          type: string
        accountableParty:
          type: string
        monitoringPurpose:
          type: string
        deliveryContext:
          type: string
        measuringPoints:
          type: array
          items:
            $ref: "#/components/schemas/MeasuringPoint"
    Networks:
      type: object
      properties:
        networks:
          type: array
          items:
            $ref: "#/components/schemas/Network"
    ServiceError:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        errorCode:
          format: int32
          type: integer
