---
openapi: 3.0.3
info:
  title: Bodemkundig Booronderzoek (BHR-P)
  description: "Landelijke Voorziening Basisregistratie Ondergrond (BRO), uitgifte\
    \ en validatie bodemkundig booronderzoek (BHR-P)."
  contact:
    name: BRO Servicedesk
    url: https://basisregistratieondergrond.nl/service-contact/
    email: support@broservicedesk.nl
  version: 2.178.2
paths:
  /sr/bhrp/v2/bro-ids:
    get:
      summary: Lijst van BHR-P BRO-IDs
      description: "Haalt de lijst van BHR-P 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-P 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-P 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-P BRO-IDs voor dit registratie object type
            waarvoor bronhouder verantwoordelijk is.
          content:
            application/json: {}
        "400":
          description: Er bevinden zich andere fouten in het BHR-P lijstverzoek.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
  /sr/bhrp/v2/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.Zie [hier](https://www.bro-productomgeving.nl/bpo/latest/bodem-en-grondonderzoek/booronderzoek-bhr/bodemkundig-booronderzoek-bhr-p/berichtencatalogus-uitgiftewebservice-bhr-p)\
        \ voor meer info."
      operationId: characteristics
      parameters:
      - name: requestReference
        in: query
        description: Een optionele BHR-P 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/BhrpCriteriaSet"
            examples:
              Simple Criteria:
                $ref: "#/components/examples/SIMPLE_CRITERIA"
      responses:
        "200":
          description: De set van BHR-P karakteristieken die matched met de criteria
            dan wel een afwijzing.
          content:
            application/xml: {}
        "400":
          description: Er bevinden zich andere fouten in het karakteristieken verzoek.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
  /sr/bhrp/v2/objects/{broId}:
    get:
      summary: "Haalt een bodemkundig booronderzoek ( pedological boreholeresearch\
        \ survey, BHRP) op op basis van een BRO-ID"
      description: "Haal een bodemkundig 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/bodemkundig-booronderzoek-bhr-p/berichtencatalogus-uitgiftewebservice-bhr-p)\
        \ voor meer info."
      operationId: objects
      parameters:
      - name: broId
        in: path
        description: Het BRO-ID van het BHR-P object.
        required: true
        content:
          text/plain:
            schema:
              type: string
      - name: requestReference
        in: query
        description: Een optionele BHR-P referentie van de gebruiker. "-" wordt aangenomen
          bij afwezigheid.
        schema:
          type: string
        example: Mijn-BHRP-object-aanvraag-000001
      responses:
        "200":
          description: Het aangevraagde registratie object dan wel een afwijzing van
            het BHR-P registratie object verzoek.
          content:
            application/xml: {}
        "400":
          description: Er bevinden zich andere fouten in het BHR-P 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"
    BhrpCriteriaSet:
      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"
        researchReportPeriod:
          $ref: "#/components/schemas/DatePeriod"
        fieldworkPeriod:
          $ref: "#/components/schemas/DatePeriod"
        depthInterval:
          $ref: "#/components/schemas/VerticalInterval"
        boreholeSamplesDescribed:
          $ref: "#/components/schemas/YesNoEnumeration"
        boreholeSamplesAnalyzed:
          $ref: "#/components/schemas/YesNoEnumeration"
        boreholeSamplesPhotographed:
          $ref: "#/components/schemas/YesNoEnumeration"
        fractionDistributionDetermined:
          $ref: "#/components/schemas/YesNoEnumeration"
        toolUsed:
          type: string
        discipline:
          type: string
        descriptionCompletionPeriod:
          $ref: "#/components/schemas/DatePeriod"
        analysisReportPeriod:
          $ref: "#/components/schemas/DatePeriod"
        analysisType:
          type: string
        characteristicModelled:
          $ref: "#/components/schemas/YesNoEnumeration"
    Circle:
      type: object
      properties:
        center:
          $ref: "#/components/schemas/Point"
        radius:
          type: number
    DatePeriod:
      type: object
      properties:
        beginDate:
          type: string
        endDate:
          type: string
    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
    VerticalInterval:
      type: object
      properties:
        startDepth:
          type: number
        endDepth:
          type: number
    YesNoEnumeration:
      enum:
      - JA
      - NEE
      type: string
  examples:
    SIMPLE_CRITERIA:
      value: |-
        {
          "registrationPeriod": {
            "beginDate": "2017-02-01",
            "endDate": "2021-02-01"
          },
          "area": {
            "enclosingCircle": {
              "center": {
                "lat": 52.038297852,
                "lon": 5.31447958948
              },
              "radius": 0.5
            }
          }
        }
