---
openapi: 3.0.3
info:
  title: Geologisch Booronderzoek (BHR-G)
  description: "Landelijke Voorziening Basisregistratie Ondergrond (BRO), uitgifte\
    \ en validatie geologisch booronderzoek (BHR-G)."
  contact:
    name: BRO Servicedesk
    url: https://basisregistratieondergrond.nl/service-contact/
    email: support@broservicedesk.nl
  version: 3.179.0
paths:
  /sr/bhrg/v3/bro-ids:
    get:
      summary: Lijst van BHR-G BRO-IDs
      description: "Haalt de lijst van BHR-G 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 BHR-G bronhouder
        required: true
        schema:
          type: string
        example: 12345678
      - name: registered
        in: query
        description: "Registered is een optionele parameter, bij afwezigheid geeft\
          \ deze methode alle BHR-G 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 BHR-G BRO-IDs voor dit registratie object type
            waarvoor bronhouder verantwoordelijk is.
          content:
            application/json: {}
        "400":
          description: Er bevinden zich andere fouten in het BHR-G verzoek.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
  /sr/bhrg/v3/characteristics/searches:
    post:
      summary: "Haalt de karakteristieken op van een set van registratie objecten,\
        \ gegeven een kenmerkenverzameling (kenset)."
      description: "De karakteristieken geven een samenvatting van een object zodat\
        \ een verdere selectie gemaakt kan worden. Het past in een twee-traps-benadering,\
        \ 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. Merk op: deze service leent\
        \ zich niet voor \"tiling\" (binair geografisch zoeken). Zie [hier](https://www.bro-productomgeving.nl/bpo/latest/bodem-en-grondonderzoek/booronderzoek-bhr/geologisch-booronderzoek-bhr-g/bhr-g-berichtencatalogus-uitgiftewebservice)\
        \ voor meer info."
      operationId: characteristics
      parameters:
      - name: requestReference
        in: query
        description: Een optionele BHR-G referentie van de gebruiker. "-" wordt aangenomen
          bij afwezigheid.
        schema:
          type: string
        example: Mijn-aanvraag-000001
      requestBody:
        description: "De set van kenmerken. Zie voor meer informatie: https://www.bro-productomgeving.nl/bpo/latest/"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BhrgCriteriaSet"
            examples:
              Simple Criteria:
                $ref: "#/components/examples/SIMPLE_CRITERIA"
      responses:
        "200":
          description: De set van BHR-G karakteristieken die matched met de criteria
            dan wel een afwijzing.
          content:
            application/xml: {}
        "400":
          description: Er bevinden zich andere fouten in het BHR-G verzoek.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
  /sr/bhrg/v3/objects/{broId}:
    get:
      summary: "Haalt een geologisch booronderzoek ( geotechnical boreholeresearch\
        \ survey, bhrg) op op basis van een BRO-ID"
      description: "Haal een geologisch booronderzoek 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/bodem-en-grondonderzoek/booronderzoek-bhr/geologisch-booronderzoek-bhr-g/bhr-g-berichtencatalogus-uitgiftewebservice)\
        \ voor meer info."
      operationId: objects
      parameters:
      - name: broId
        in: path
        description: Het BRO-ID van het BHR-G object.
        required: true
        content:
          text/plain:
            schema:
              type: string
      - name: requestReference
        in: query
        description: Een optionele BHR-G referentie van de gebruiker. "-" wordt aangenomen
          bij afwezigheid.
        schema:
          type: string
        example: Mijn-BHRG-object-aanvraag-000001
      responses:
        "200":
          description: Het aangevraagde registratie object dan wel een afwijzing van
            het BHR-G verzoek.
          content:
            application/xml: {}
        "400":
          description: Er bevinden zich andere fouten in het BHR-G verzoek.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
components:
  schemas:
    Area:
      type: object
      properties:
        enclosingCircle:
          $ref: "#/components/schemas/Circle"
        boundingBox:
          $ref: "#/components/schemas/Envelope"
    BhrgCriteriaSet:
      required:
      - area
      type: object
      properties:
        deliveryAccountableParty:
          type: string
        qualityRegime:
          $ref: "#/components/schemas/QualityRegime"
        registrationPeriod:
          $ref: "#/components/schemas/DatePeriod"
        correctionPeriod:
          $ref: "#/components/schemas/DatePeriod"
        underReview:
          $ref: "#/components/schemas/YesNoEnumeration"
        area:
          $ref: "#/components/schemas/Area"
        discipline:
          type: string
        fieldworkPeriod:
          $ref: "#/components/schemas/DatePeriod"
        depthInterval:
          $ref: "#/components/schemas/DepthInterval"
        samplingQuality:
          type: array
          items:
            type: string
        descriptionReportPeriod:
          $ref: "#/components/schemas/DatePeriod"
        descriptionProcedure:
          type: string
        descriptionQuality:
          type: string
        analysisReportPeriod:
          $ref: "#/components/schemas/DatePeriod"
        waterContentDetermined:
          $ref: "#/components/schemas/YesNoEnumeration"
        volumetricMassDensityDetermined:
          $ref: "#/components/schemas/YesNoEnumeration"
        determinedCompositionProperties:
          type: string
        determinedHydrophysicalProperties:
          type: string
    Circle:
      type: object
      properties:
        center:
          $ref: "#/components/schemas/Point"
        radius:
          type: number
    DatePeriod:
      type: object
      properties:
        beginDate:
          type: string
        endDate:
          type: string
    DepthInterval:
      type: object
      properties:
        startDepth:
          type: number
        endDepth:
          type: number
    Envelope:
      type: object
      properties:
        lowerCorner:
          $ref: "#/components/schemas/Point"
        upperCorner:
          $ref: "#/components/schemas/Point"
    Point:
      type: object
      properties:
        lat:
          type: number
        lon:
          type: number
    QualityRegime:
      enum:
      - IMBRO
      - IMBRO_A
      type: string
    ServiceError:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        errorCode:
          format: int32
          type: integer
    YesNoEnumeration:
      enum:
      - JA
      - NEE
      type: string
  examples:
    SIMPLE_CRITERIA:
      value: |-
        {
          "registrationPeriod": {
            "beginDate": "2017-01-01",
            "endDate": "2021-01-01"
          },
          "area": {
            "enclosingCircle": {
              "center": {
                "lat": 52.038297852,
                "lon": 5.31447958948
              },
              "radius": 0.5
            }
          }
        }
