openapi: 3.1.0
components:
  schemas:
    MeasuringPoint:
      type: object
      properties:
        pointCode:
          type: string
        monitoringTubes:
          type: array
          items:
            type: object
            properties:
              broId:
                type: string
              tubeNumber:
                type: integer
                format: int32
    MonitoringTube:
      type: object
      properties:
        broId:
          type: string
        tubeNumber:
          type: integer
          format: int32
    Network:
      type: object
      properties:
        broId:
          type: string
        accountableParty:
          type: string
        monitoringPurpose:
          type: string
        deliveryContext:
          type: string
        measuringPoints:
          type: array
          items:
            type: object
            properties:
              pointCode:
                type: string
              monitoringTubes:
                type: array
                items:
                  type: object
                  properties:
                    broId:
                      type: string
                    tubeNumber:
                      type: integer
                      format: int32
    Networks:
      type: object
      properties:
        networks:
          type: array
          items:
            type: object
            properties:
              broId:
                type: string
              accountableParty:
                type: string
              monitoringPurpose:
                type: string
              deliveryContext:
                type: string
              measuringPoints:
                type: array
                items:
                  type: object
                  properties:
                    pointCode:
                      type: string
                    monitoringTubes:
                      type: array
                      items:
                        type: object
                        properties:
                          broId:
                            type: string
                          tubeNumber:
                            type: integer
                            format: int32
    ServiceError:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        errorCode:
          type: integer
          format: int32
paths:
  /gm/gmn/v1/bro-ids:
    get:
      summary: Lijst van GMN 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:
        - description: Het kvk (kamer van koophandel) nummer van een GMN bronhouder
          example: '12345678'
          name: bronhouder
          in: query
          schema:
            type: string
          required: true
        - description: Registered is een optionele parameter, bij afwezigheid geeft deze methode alle GLD 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.
          name: registered
          in: query
          schema:
            type: string
      responses:
        '200':
          description: De Lijst van GMN BRO-IDs voor dit registratie object type waarvoor bronhouder verantwoordelijk is.
          headers:
            API-Version:
              description: Versie van deze GMN API
              schema:
                type: string
                examples:
                  - 3.2.1
          content:
            application/json: {}
        '400':
          description: Er bevinden zich andere fouten in het GMN verzoek.
          headers:
            API-Version:
              description: Versie van deze GMN API
              schema:
                type: string
                examples:
                  - 3.2.1
          content:
            application/json:
              schema:
                type: object
                properties:
                  title:
                    type: string
                  description:
                    type: string
                  errorCode:
                    type: integer
                    format: int32
  /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:
        - description: Het kvk (kamer van koophandel) nummer van een GMN bronhouder
          example: '12345678'
          name: bronhouder
          in: query
          schema:
            type: string
        - description: Het doel waarvoor de monitoring in het grondwatermonitoringnet plaatsvindt.
          example: beheersingStedelijkGebied
          name: monitoringdoel
          in: query
          schema:
            type: string
        - allowEmptyValue: true
          description: Aanwezigheid van deze parameter geeft tevens de meetpunten terug. Dit mag alleen als je bronhouder en monitoringdoel opgeeft.
          example: ja
          name: meetpunten
          in: query
          schema:
            type: string
      responses:
        '200':
          description: De lijst van netwerken.
          headers:
            API-Version:
              description: Versie van deze GMN API
              schema:
                type: string
                examples:
                  - 3.2.1
          content:
            application/json:
              schema:
                type: object
                properties:
                  networks:
                    type: array
                    items:
                      type: object
                      properties:
                        broId:
                          type: string
                        accountableParty:
                          type: string
                        monitoringPurpose:
                          type: string
                        deliveryContext:
                          type: string
                        measuringPoints:
                          type: array
                          items:
                            type: object
                            properties:
                              pointCode:
                                type: string
                              monitoringTubes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    broId:
                                      type: string
                                    tubeNumber:
                                      type: integer
                                      format: int32
        '400':
          description: Er bevinden zich andere fouten in het GMN verzoek.
          headers:
            API-Version:
              description: Versie van deze GMN API
              schema:
                type: string
                examples:
                  - 3.2.1
          content:
            application/json:
              schema:
                type: object
                properties:
                  title:
                    type: string
                  description:
                    type: string
                  errorCode:
                    type: integer
                    format: int32
  /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:
        - content:
            text/plain:
              schema:
                type: string
          description: Het BRO-ID van het GMN object.
          name: broId
          in: path
          required: true
        - description: Een optionele GMN referentie van de gebruiker. "-" wordt aangenomen bij afwezigheid.
          example: Mijn-GMN-object-aanvraag-000001
          name: requestReference
          in: query
          schema:
            type: string
        - allowEmptyValue: true
          description: Aanwezigheid van deze parameter geeft het netwerk bij inrichting + de volledige geschiedenis terug. Afwezigheid de actuele situatie.
          example: ja
          name: fullHistory
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Het aangevraagde registratie object dan wel een afwijzing van het GMN verzoek.
          headers:
            API-Version:
              description: Versie van deze GMN API
              schema:
                type: string
                examples:
                  - 3.2.1
          content:
            application/xml: {}
        '400':
          description: Er bevinden zich andere fouten in het GMN verzoek.
          headers:
            API-Version:
              description: Versie van deze GMN API
              schema:
                type: string
                examples:
                  - 3.2.1
          content:
            application/json:
              schema:
                type: object
                properties:
                  title:
                    type: string
                  description:
                    type: string
                  errorCode:
                    type: integer
                    format: int32
info:
  title: Grondwatermonitoringnet (GMN)
  version: 2.197.0
  description: Landelijke Voorziening Basiregistratie Ondergrond (BRO), uitgifte en validatie grondwatermonitoringnet (GMN).
  contact:
    name: BRO Servicedesk
    email: support@broservicedesk.nl
    url: https://basisregistratieondergrond.nl/service-contact/
