components:
  examples:
    SIMPLE_CRITERIA:
      value: |-
        {
          "registrationPeriod": {
            "beginDate": "2017-01-06",
            "endDate": "2021-01-06"
          },
          "area": {
            "enclosingCircle": {
              "center": {
                "lat": 52.038297852,
                "lon": 5.31447958948
              },
              "radius": 0.5
            }
          }
        }
  schemas:
    Area:
      properties:
        boundingBox:
          properties:
            lowerCorner:
              properties:
                lat:
                  type: number
                lon:
                  type: number
              type: object
            upperCorner:
              properties:
                lat:
                  type: number
                lon:
                  type: number
              type: object
          type: object
        enclosingCircle:
          properties:
            center:
              properties:
                lat:
                  type: number
                lon:
                  type: number
              type: object
            radius:
              type: number
          type: object
      type: object
    Circle:
      properties:
        center:
          properties:
            lat:
              type: number
            lon:
              type: number
          type: object
        radius:
          type: number
      type: object
    DatePeriod:
      properties:
        beginDate:
          type: string
        endDate:
          type: string
      type: object
    Envelope:
      properties:
        lowerCorner:
          properties:
            lat:
              type: number
            lon:
              type: number
          type: object
        upperCorner:
          properties:
            lat:
              type: number
            lon:
              type: number
          type: object
      type: object
    GmwCriteriaSet:
      properties:
        area:
          properties:
            boundingBox:
              properties:
                lowerCorner:
                  properties:
                    lat:
                      type: number
                    lon:
                      type: number
                  type: object
                upperCorner:
                  properties:
                    lat:
                      type: number
                    lon:
                      type: number
                  type: object
              type: object
            enclosingCircle:
              properties:
                center:
                  properties:
                    lat:
                      type: number
                    lon:
                      type: number
                  type: object
                radius:
                  type: number
              type: object
          type: object
        constructionPeriod:
          properties:
            beginDate:
              type: string
            endDate:
              type: string
          type: object
        constructionStandard:
          type: string
        correctionPeriod:
          properties:
            beginDate:
              type: string
            endDate:
              type: string
          type: object
        deliveryAccountableParty:
          type: string
        geoOhmCablePresent:
          enum:
          - JA
          - NEE
          type: string
        initialFunction:
          type: string
        maximumTubeTopDiameter:
          type: number
        minimumNumberOfTubes:
          format: int32
          type: integer
        minimumTubeTopDiameter:
          type: number
        owner:
          type: string
        qualityRegime:
          enum:
          - IMBRO
          - IMBRO_A
          type: string
        registrationPeriod:
          properties:
            beginDate:
              type: string
            endDate:
              type: string
          type: object
        removalPeriod:
          properties:
            beginDate:
              type: string
            endDate:
              type: string
          type: object
        removed:
          enum:
          - JA
          - NEE
          type: string
        screenPositionRange:
          properties:
            endDepth:
              type: number
            startDepth:
              type: number
          type: object
        tubeStatus:
          type: string
        underReview:
          enum:
          - JA
          - NEE
          type: string
        wellHeadProtector:
          type: string
        withPrehistory:
          enum:
          - JA
          - NEE
          type: string
      required:
      - area
      type: object
    Point:
      properties:
        lat:
          type: number
        lon:
          type: number
      type: object
    QualityRegime:
      enum:
      - IMBRO
      - IMBRO_A
      type: string
    ServiceError:
      properties:
        description:
          type: string
        errorCode:
          format: int32
          type: integer
        title:
          type: string
      type: object
    VerticalPositionRange:
      properties:
        endDepth:
          type: number
        startDepth:
          type: number
      type: object
    YesNoEnumeration:
      enum:
      - JA
      - NEE
      type: string
info:
  contact:
    email: support@broservicedesk.nl
    name: BRO Servicedesk
    url: https://basisregistratieondergrond.nl/service-contact/
  description: Landelijke Voorziening Basisregistratie Ondergrond (BRO), uitgifte
    en validatie grondwatermonitoringput (GMW).
  title: Grondwater Monitoring Put (GMW)
  version: 2.197.0
openapi: 3.0.3
paths:
  /gm/gmw/v1/bro-ids:
    get:
      description: Haalt de lijst van GMW 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 GMW bronhouder
        example: "12345678"
        in: query
        name: bronhouder
        required: true
        schema:
          type: string
      - description: Registered is een optionele parameter, bij afwezigheid geeft
          deze methode alle GMW 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.
        in: query
        name: registered
        schema:
          type: string
      responses:
        "200":
          content:
            application/json: {}
          description: De Lijst van GMW BRO-IDs voor dit registratie object type waarvoor
            bronhouder verantwoordelijk is.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  description:
                    type: string
                  errorCode:
                    format: int32
                    type: integer
                  title:
                    type: string
                type: object
          description: Er bevinden zich andere fouten in het GMW verzoek.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
      summary: Lijst van GMW BRO-IDs
  /gm/gmw/v1/characteristics/searches:
    post:
      description: De karakteristieken geven een samenvatting van een object zodat
        een verdere selectie gemaakt kan worden. Het past in een tweetrapsbenadering,
        waarbij de eerste stap bestaat uit het ophalen van de karakteristieken en
        de 2e stap uit het ophalen van de gewenste registratie objecten. Het resultaat
        van deze operatie is gemaximaliseerd op 2000. Zie [hier](https://www.bro-productomgeving.nl/bpo/latest/grondwatermonitoring/grondwatermonitoringput-gmw/koppelvlakbeschrijving-uitgifteservice-gmw)
        en [hier](https://www.bro-productomgeving.nl/bpo/latest/grondwatermonitoring/grondwatermonitoringput-gmw/uitgiftehandboek-gmw)
        voor meer info.
      operationId: characteristics
      parameters:
      - description: Een optionele GMW referentie van de gebruiker. "-" wordt aangenomen
          bij afwezigheid.
        example: Mijn-putcode-aanvraag-000001
        in: query
        name: requestReference
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              Simple Criteria:
                value: |-
                  {
                    "registrationPeriod": {
                      "beginDate": "2017-01-06",
                      "endDate": "2021-01-06"
                    },
                    "area": {
                      "enclosingCircle": {
                        "center": {
                          "lat": 52.038297852,
                          "lon": 5.31447958948
                        },
                        "radius": 0.5
                      }
                    }
                  }
            schema:
              properties:
                area:
                  properties:
                    boundingBox:
                      properties:
                        lowerCorner:
                          properties:
                            lat:
                              type: number
                            lon:
                              type: number
                          type: object
                        upperCorner:
                          properties:
                            lat:
                              type: number
                            lon:
                              type: number
                          type: object
                      type: object
                    enclosingCircle:
                      properties:
                        center:
                          properties:
                            lat:
                              type: number
                            lon:
                              type: number
                          type: object
                        radius:
                          type: number
                      type: object
                  type: object
                constructionPeriod:
                  properties:
                    beginDate:
                      type: string
                    endDate:
                      type: string
                  type: object
                constructionStandard:
                  type: string
                correctionPeriod:
                  properties:
                    beginDate:
                      type: string
                    endDate:
                      type: string
                  type: object
                deliveryAccountableParty:
                  type: string
                geoOhmCablePresent:
                  enum:
                  - JA
                  - NEE
                  type: string
                initialFunction:
                  type: string
                maximumTubeTopDiameter:
                  type: number
                minimumNumberOfTubes:
                  format: int32
                  type: integer
                minimumTubeTopDiameter:
                  type: number
                owner:
                  type: string
                qualityRegime:
                  enum:
                  - IMBRO
                  - IMBRO_A
                  type: string
                registrationPeriod:
                  properties:
                    beginDate:
                      type: string
                    endDate:
                      type: string
                  type: object
                removalPeriod:
                  properties:
                    beginDate:
                      type: string
                    endDate:
                      type: string
                  type: object
                removed:
                  enum:
                  - JA
                  - NEE
                  type: string
                screenPositionRange:
                  properties:
                    endDepth:
                      type: number
                    startDepth:
                      type: number
                  type: object
                tubeStatus:
                  type: string
                underReview:
                  enum:
                  - JA
                  - NEE
                  type: string
                wellHeadProtector:
                  type: string
                withPrehistory:
                  enum:
                  - JA
                  - NEE
                  type: string
              required:
              - area
              type: object
        description: 'De set van kenmerken. Zie voor meer informatie: https://www.bro-productomgeving.nl/bpo/latest/grondwatermonitoring/grondwatermonitoringput-gmw'
        required: true
      responses:
        "200":
          content:
            application/xml: {}
          description: De set van GMW karakteristieken die matched met de criteria
            dan wel een afwijzing.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  description:
                    type: string
                  errorCode:
                    format: int32
                    type: integer
                  title:
                    type: string
                type: object
          description: Er bevinden zich andere fouten in het GMW verzoek.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
      summary: Haalt de karakteristieken op van een set van registratie objecten,
        gegeven een kenmerkenverzameling (kenset).
  /gm/gmw/v1/groundlevelposition-as-csv/{broId}:
    get:
      operationId: groundLevelPositionAsCSV
      parameters:
      - content:
          text/plain:
            schema:
              pattern: \S
              type: string
        description: Het BRO-ID van het GMW object.
        in: path
        name: broId
        required: true
      - description: "type rapportage; \n+ compact: Compact met datums als leesbare
          aanduidingen, \n+ compact_met_timestamps: Compact met datums als unix epoch
          tijdstippen. Afwezigheid van deze parameter geeft datums weer met leesbare
          aanduidingen."
        example: compact
        in: query
        name: rapportagetype
        schema:
          type: string
      responses:
        "200":
          content:
            text/plain: {}
          description: Het aangevraagde registratie object dan wel een afwijzing van
            het GMW verzoek.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  description:
                    type: string
                  errorCode:
                    format: int32
                    type: integer
                  title:
                    type: string
                type: object
          description: Er bevinden zich andere fouten in het GMW verzoek.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
      summary: Geeft een tabel met als eerste kolom datum (unix epoch of datum) en
        als tweede kolom de maaiveldpositie. Bedoeld voor bijvoorbeeld het grafisch
        weergeven van waterstanden ten opzichte van het maaiveld.
  /gm/gmw/v1/objects/{broId}:
    get:
      description: Haal een put op op basis van een BRO-ID. De operatie retourneert
        een object op basis van het BRO-ID als een 'O' (actuele situatie), 'PPO' (inrichting
        put en volledige historie) of 'DO' (uit registratie) als IMBRO XML. De andere
        varianten 'O-DP' of 'PPO-DP' zijn 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/grondwatermonitoringput-gmw/koppelvlakbeschrijving-uitgifteservice-gmw)
        en [hier](https://www.bro-productomgeving.nl/bpo/latest/grondwatermonitoring/grondwatermonitoringput-gmw/uitgiftehandboek-gmw)
        voor meer info.
      operationId: objects
      parameters:
      - content:
          text/plain:
            schema:
              type: string
        description: Het BRO-ID van het GMW object.
        in: path
        name: broId
        required: true
      - description: Een optionele GMW referentie van de gebruiker. "-" wordt aangenomen
          bij afwezigheid.
        example: Mijn-GMW-object-aanvraag-000001
        in: query
        name: requestReference
        schema:
          type: string
      - allowEmptyValue: true
        description: Aanwezigheid van deze parameter geeft de put bij inrichting +
          de volledige geschiedenis terug. Afwezigheid de actuele situatie.
        example: ja
        in: query
        name: fullHistory
        schema:
          type: string
      responses:
        "200":
          content:
            application/xml: {}
          description: Het aangevraagde registratie object dan wel een afwijzing van
            het ophaalverzoek.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  description:
                    type: string
                  errorCode:
                    format: int32
                    type: integer
                  title:
                    type: string
                type: object
          description: Er bevinden zich andere fouten in het GMW verzoek.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
      summary: Haalt een put (groundwater monitoring well, GMW) op op basis van een
        BRO-ID
  /gm/gmw/v1/well-code/{broId}:
    get:
      description: Haalt een putcode op, op basis van een BRO-ID. Retourneert de putcode
        als 'plain text'
      operationId: well-code
      parameters:
      - content:
          text/plain:
            schema:
              type: string
        description: Het BRO-ID van het GMW object.
        in: path
        name: broId
        required: true
      - description: Een optionele GMW referentie van de gebruiker. "-" wordt aangenomen
          bij afwezigheid.
        example: Mijn-putcode-aanvraag-000001
        in: query
        name: requestReference
        schema:
          type: string
      responses:
        "200":
          content:
            text/plain: {}
          description: De putcode.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
        "400":
          content:
            application/json:
              schema:
                properties:
                  description:
                    type: string
                  errorCode:
                    format: int32
                    type: integer
                  title:
                    type: string
                type: object
          description: Er bevinden zich andere fouten in het GMW verzoek.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
        "404":
          description: De putcode is niet gevonden.
          headers:
            API-Version:
              description: Versie van deze GMW API
              examples: {}
              schema:
                examples:
                - 3.2.1
                type: string
      summary: Haalt een putcode op, op basis van een BRO-ID.
