components:
  examples:
    SIMPLE_CRITERIA:
      value: |-
        {
          "registrationPeriod": {
            "beginDate": "2017-05-01",
            "endDate": "2021-05-01"
          },
          "area": {
            "enclosingCircle": {
              "center": {
                "lat": 52.038297852,
                "lon": 5.31447958948
              },
              "radius": 0.5
            }
          }
        }
  schemas:
    Area:
      properties:
        boundingBox:
          $ref: '#/components/schemas/Envelope'
        enclosingCircle:
          $ref: '#/components/schemas/Circle'
      type: object
    Circle:
      properties:
        center:
          $ref: '#/components/schemas/Point'
        radius:
          type: number
      type: object
    DatePeriod:
      properties:
        beginDate:
          type: string
        endDate:
          type: string
      type: object
    DepthInterval:
      properties:
        endDepth:
          type: number
        startDepth:
          type: number
      type: object
    Envelope:
      properties:
        lowerCorner:
          $ref: '#/components/schemas/Point'
        upperCorner:
          $ref: '#/components/schemas/Point'
      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
    SfrCriteriaSet:
      properties:
        analysisReportPeriod:
          $ref: '#/components/schemas/DatePeriod'
        analysisType:
          type: string
        area:
          $ref: '#/components/schemas/Area'
        characteristicModelled:
          $ref: '#/components/schemas/YesNoEnumeration'
        correctionPeriod:
          $ref: '#/components/schemas/DatePeriod'
        deliveryAccountableParty:
          type: string
        depthInterval:
          $ref: '#/components/schemas/DepthInterval'
        descriptionQuality:
          type: string
        descriptionReportPeriod:
          $ref: '#/components/schemas/DatePeriod'
        discipline:
          type: string
        fieldworkPeriod:
          $ref: '#/components/schemas/DatePeriod'
        fractionDistributionDetermined:
          $ref: '#/components/schemas/YesNoUnknownEnumeration'
        litterLayerInvestigated:
          $ref: '#/components/schemas/YesNoEnumeration'
        outcropType:
          type: string
        pitRefilled:
          $ref: '#/components/schemas/YesNoUnknownEnumeration'
        qualityRegime:
          $ref: '#/components/schemas/QualityRegime'
        registrationPeriod:
          $ref: '#/components/schemas/DatePeriod'
        stopCriterion:
          type: string
        underReview:
          $ref: '#/components/schemas/YesNoEnumeration'
      required:
      - area
      type: object
    YesNoEnumeration:
      enum:
      - JA
      - NEE
      type: string
    YesNoUnknownEnumeration:
      enum:
      - JA
      - NEE
      - ONBEKEND
      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 wandonderzoek (SFR).
  title: Wandonderzoek (SFR)
  version: 2.192.1
openapi: 3.0.3
paths:
  /sr/sfr/v2/bro-ids:
    get:
      description: Haalt de lijst van SFR 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 SFR bronhouder
        example: "12345678"
        in: query
        name: bronhouder
        required: true
        schema:
          type: string
      - description: Registered is een optionele parameter, bij afwezigheid geeft
          deze methode alle SFR 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 SFR BRO-IDs voor dit registratie object type waarvoor
            bronhouder verantwoordelijk is.
          headers:
            API-Version:
              description: Versie van deze SFR API
              schema:
                examples:
                - 3.2.1
                type: string
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Er bevinden zich andere fouten in het SFR verzoek.
          headers:
            API-Version:
              description: Versie van deze SFR API
              schema:
                examples:
                - 3.2.1
                type: string
      summary: Lijst van SFR BRO-IDs
  /sr/sfr/v2/characteristics/searches:
    post:
      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/wandonderzoek-sfr/berichtencatalogus-uitgiftewebservice-sfr)
        voor meer info.
      operationId: characteristics
      parameters:
      - description: Een optionele SFR referentie van de gebruiker. "-" wordt aangenomen
          bij afwezigheid.
        example: Mijn-aanvraag-000001
        in: query
        name: requestReference
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              Simple Criteria:
                $ref: '#/components/examples/SIMPLE_CRITERIA'
            schema:
              $ref: '#/components/schemas/SfrCriteriaSet'
        description: 'De set van kenmerken. Zie voor meer informatie: https://www.bro-productomgeving.nl/bpo/latest/'
        required: true
      responses:
        "200":
          content:
            application/xml: {}
          description: De set van SFR karakteristieken die matched met de criteria
            dan wel een afwijzing.
          headers:
            API-Version:
              description: Versie van deze SFR API
              schema:
                examples:
                - 3.2.1
                type: string
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Er bevinden zich andere fouten in het SFR verzoek.
          headers:
            API-Version:
              description: Versie van deze SFR API
              schema:
                examples:
                - 3.2.1
                type: string
      summary: Haalt de karakteristieken op van een set van registratie objecten,
        gegeven een kenmerkenverzameling (kenset).
  /sr/sfr/v2/objects/{broId}:
    get:
      description: Haal een bodemkundig wandonderzoek 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/wandonderzoek-sfr/berichtencatalogus-uitgiftewebservice-sfr)
        voor meer info.
      operationId: objects
      parameters:
      - content:
          text/plain:
            schema:
              type: string
        description: Het BRO-ID van het SFR object.
        in: path
        name: broId
        required: true
      - description: Een optionele SFR referentie van de gebruiker. "-" wordt aangenomen
          bij afwezigheid.
        example: Mijn-SFR-object-aanvraag-000001
        in: query
        name: requestReference
        schema:
          type: string
      responses:
        "200":
          content:
            application/xml: {}
          description: Het aangevraagde registratie object dan wel een afwijzing van
            het SFR verzoek.
          headers:
            API-Version:
              description: Versie van deze SFR API
              schema:
                examples:
                - 3.2.1
                type: string
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Er bevinden zich andere fouten in het SFR verzoek.
          headers:
            API-Version:
              description: Versie van deze SFR API
              schema:
                examples:
                - 3.2.1
                type: string
      summary: Haalt een bodemkundig wandonderzoek ( pedological SoilFaceResearch
        survey, SFR) op op basis van een BRO-ID
