---
openapi: 3.0.3
info:
  title: Waardelijsten
  description: Landelijke Voorziening Basisregistratie Ondergrond (BRO). Uitgifte
    van waardelijsten
  contact:
    name: BRO Servicedesk
    url: https://basisregistratieondergrond.nl/service-contact/
    email: support@broservicedesk.nl
  version: 2.165.2
tags:
- name: Gegevensmodel
  description: |-
    * domain: de waardelijst; deze kan met een naam of urn worden geïdentificeerd
    (b.v. urn:bro:gar:ParameterList)
    * domainVersion: een versie van een waardelijst; deze bestaat uit een hoofd- en subversie (b.v. 1.0)
    * code: een element van een waardelijst; de code is uniek binnen (de versie van) de waardelijst
    * attribute: voor (een versie van) een waardelijst kunnen naast de code/beschrijving ook aanvullende
    eigenschappen worden gedefinieerd; de GAR ParameterList is hier een voorbeeld van: behalve de codes
    bevat deze waardelijst ook aquo codes, CAS nummers, etc.
    * attributeValue: een waarde voor een aanvullende eigenschap
paths:
  /bro/refcodes/v1/attribute_values:
    get:
      tags:
      - Gegevensmodel
      summary: Haalt alle attribuut waardes op voor één specifieke versie of alle
        versies van een waardelijst.
      description: "Haal alle in de LV BRO bekende attribuut waardes op van één specifieke\
        \ versie, de meest recente versie of, als geen versie wordt gespecificeerd,\
        \ alle versies van een domein. "
      operationId: attribute values
      parameters:
      - name: domain
        in: query
        description: De name of urn van het domein.
        required: true
        examples:
          URN:
            description: Een URN
            value: urn:bro:bhrgt:GeotechnicalSoilName
          domein:
            description: Een domein acroniem.
            value: BHRGT_GeotechnischeGrondsoort
        content:
          text/plain:
            schema:
              type: string
      - name: version
        in: query
        description: "Het versienummer van het domein. Het versienummer bestaat uit\
          \ een hoofd- en subversienummer, van elkaar gescheiden door een punt. De\
          \ meest recente versie van een domein kan worden opgehaald door 'latest'\
          \ te specificeren voor de versie."
        examples:
          laatste:
            description: De meest recente versie.
            value: latest
        content:
          text/plain:
            schema:
              type: string
      responses:
        "200":
          description: "Het attribute_values verzoek levert een domein met een lijst\
            \ van versies, de daarbij behorende codes en de daarbij behorende attribuut\
            \ waardes (name, value) op. Als geen resultaat wordt gevonden dat aan\
            \ de query parameters voldoet, wordt een leeg element geretourneerd."
          content:
            application/json: {}
        "204":
          description: Geen resultaten gevonden worden die aan de query parameters
            voldoen.
          content:
            application/json: {}
        "400":
          description: Een verplichte query parameter ontbreekt of wanneer een ongeldige
            query parameter waarde wordt gespecificeerd.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
  /bro/refcodes/v1/attributes:
    get:
      tags:
      - Gegevensmodel
      summary: Haalt alle attributen (zonder de attribuut waardes) op voor één specifieke
        versie of alle versies van een waardelijsten.
      description: "Haal alle in de LV BRO bekende attributen op van één specifieke\
        \ versie, de meest recente versie of, als geen versie wordt gespecificeerd,\
        \ alle versies van een domein."
      operationId: attributes
      parameters:
      - name: domain
        in: query
        description: De name of urn van het domein.
        required: true
        examples:
          URN:
            description: Een URN
            value: urn:bro:gar:ParameterList
          domein:
            description: Een domein acroniem.
            value: GAR_ParameterList
        content:
          text/plain:
            schema:
              type: string
      - name: version
        in: query
        description: "Het versienummer van het domein. Het versienummer bestaat uit\
          \ een hoofd- en subversienummer, van elkaar gescheiden door een punt. De\
          \ meest recente versie van een domein kan worden opgehaald door 'latest'\
          \ te specificeren voor de versie."
        examples:
          laatste:
            description: De meest recente versie.
            value: latest
        content:
          text/plain:
            schema:
              type: string
      responses:
        "200":
          description: "Het attributes verzoek levert een domein met een lijst van\
            \ versies en de daarbij behorende attributen (name en description) op.\
            \ Als geen resultaat wordt gevonden dat aan de query parameters voldoet,\
            \ wordt een leeg element geretourneerd."
          content:
            application/json: {}
        "204":
          description: Geen resultaten gevonden worden die aan de query parameters
            voldoen.
          content:
            application/json: {}
        "400":
          description: Een verplichte query parameter ontbreekt of wanneer een ongeldige
            query parameter waarde wordt gespecificeerd.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
  /bro/refcodes/v1/codes:
    get:
      tags:
      - Gegevensmodel
      summary: Haalt één specifieke of alle waarden op voor één specifieke versie
        of alle versies van een waardelijst.
      description: "Haal alle in de LV BRO bekende waarden op van één specifieke versie,\
        \ de meest recente versie of, als geen versie wordt gespecificeerd, alle versies\
        \ van een domein. "
      operationId: codes
      parameters:
      - name: domain
        in: query
        description: De naam of urn van het domein.
        required: true
        examples:
          URN:
            description: Een URN
            value: urn:bro:bhr:CodeGroup
          domein:
            description: Een domein acroniem.
            value: BHR_Codegroep
        content:
          text/plain:
            schema:
              type: string
      - name: version
        in: query
        description: "Het versienummer van het domein. Het versienummer bestaat uit\
          \ een hoofd- en subversienummer, van elkaar gescheiden door een punt. De\
          \ meest recente versie van een domein kan worden opgehaald door 'latest'\
          \ te specificeren voor de versie."
        examples:
          laatste:
            description: De meest recente versie.
            value: latest
        content:
          text/plain:
            schema:
              type: string
      - name: code
        in: query
        description: De specifieke code.
        examples:
          code:
            description: Een code uit het gespecificeerde domein.
            value: kleigrond
        content:
          text/plain:
            schema:
              type: string
      responses:
        "200":
          description: "Het codes verzoek levert een domein met een lijst van versies\
            \ en de daarbij behorende codes (code, imbro, imbroA en description) op.\
            \ Als geen resultaat wordt gevonden dat aan de query parameters voldoet,\
            \ wordt een leeg element geretourneerd."
          content:
            application/json: {}
        "204":
          description: Geen resultaten gevonden worden die aan de query parameters
            voldoen.
          content:
            application/json: {}
        "400":
          description: Een verplichte query parameter ontbreekt of wanneer een ongeldige
            query parameter waarde wordt gespecificeerd.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
  /bro/refcodes/v1/domain_versions:
    get:
      tags:
      - Gegevensmodel
      summary: Haal alle in de LV BRO bekende versies van een domein op.
      description: Haal alle in de LV BRO bekende versies van een domein op.
      operationId: domain versions
      parameters:
      - name: domain
        in: query
        description: De naam of urn van het domein.
        required: true
        examples:
          URN:
            description: Een URN
            value: urn:bro:bhr:CodeGroup
          domein:
            description: Een domein acroniem.
            value: BHR_Codegroep
        content:
          text/plain:
            schema:
              type: string
      responses:
        "200":
          description: "Het domain_versions verzoek levert in een domein met een lijst\
            \ van versies (major version, minor version en description) op. Als geen\
            \ resultaat wordt gevonden dat aan de query parameters voldoet, wordt\
            \ een leeg element geretourneerd."
          content:
            application/json: {}
        "204":
          description: Geen resultaten gevonden worden die aan de query parameters
            voldoen.
          content:
            application/json: {}
        "400":
          description: Een verplichte query parameter ontbreekt of wanneer een ongeldige
            query parameter waarde wordt gespecificeerd.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
  /bro/refcodes/v1/domains:
    get:
      tags:
      - Gegevensmodel
      summary: "Haalt alle waardelijsten op (zonder de bijbehorende versies, codes\
        \ en attributen) die in de LV BRO bekend zijn."
      description: Haal alle in de LV BRO bekende domeinen op. De versies van het
        domein en de referentiecodes die bij een versie behoren worden niet opgehaald.
        Optioneel kan een prefix worden gespecificeerd waaraan de naam of urn moet
        voldoen.
      operationId: domains
      parameters:
      - name: prefix
        in: query
        description: Prefix waaraan de naam of de urn van het domein moet voldoen.
        examples:
          URN:
            description: Een URN
            value: urn:bro:bhr:CodeGroup
          domein:
            description: Een domein acroniem.
            value: BHR_Codegroep
        content:
          text/plain:
            schema:
              type: string
      responses:
        "200":
          description: "Het domains verzoek levert een lijst van domein identificaties\
            \ (name, uri en description) op. Als geen resultaten worden gevonden die\
            \ aan de query parameters voldoen, wordt een lege lijst geretourneerd."
          content:
            application/json: {}
        "204":
          description: Geen resultaten gevonden worden die aan de query parameters
            voldoen.
          content:
            application/json: {}
        "400":
          description: Een verplichte query parameter ontbreekt of wanneer een ongeldige
            query parameter waarde wordt gespecificeerd.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
components:
  schemas:
    ServiceError:
      type: object
      properties:
        message:
          type: string
