components:
  schemas:
    Crss:
      properties:
        crs:
          items:
            type: string
          type: array
      title: Crss
      type: object
    GeneriekErrorResponse:
      properties:
        reden:
          items:
            type: string
          type: array
      required:
      - meldingsNummerVolledig
      - reden
      title: GeneriekErrorResponse
      type: object
    Geometry:
      properties:
        coordinates:
          items:
            format: double
            type: number
          type: array
        type:
          type: string
      required:
      - coordinates
      - type
      title: Geometry
      type: object
    MeldingFeature:
      properties:
        geometry:
          $ref: '#/components/schemas/Geometry'
        properties:
          type: object
        type:
          type: string
      required:
      - geometry
      - properties
      - type
      title: MeldingFeature
      type: object
    TerugmeldingFeatureCollection:
      properties:
        features:
          items:
            $ref: '#/components/schemas/MeldingFeature'
          type: array
        name:
          type: string
        type:
          type: string
      required:
      - features
      - name
      - type
      title: TerugmeldingFeatureCollection
      type: object
  securitySchemes:
    apikeyAuth:
      in: header
      name: apikey
      type: apiKey
info:
  contact:
    email: terugmeldingapi@kadaster.nl
    name: Kadaster
    url: https://www.pdok.nl/restful-api/-/article/bag-terugmeldingen
  description: 'Welkom bij de Terugmelding API van het Kadaster! Via deze API kunt
    u terugmeldingen opvragen met filters (GET), een terugmelding indienen (POST)
    en 1 specifieke terugmelding opvragen (GET). Een terugmelding is een vermoeden
    van een onjuist gegeven in een (basis)registratie. Wanneer u vermoedt dat een
    gegeven niet klopt, kunt u een terugmelding indienen. Via de API kunt u ook de
    locatie, inhoud en status van alle actuele terugmeldingen inzien. De informatie
    in de API wordt continu bijgewerkt. Samen houden we de kwaliteit van (basis)registraties
    hoog!<p> Momenteel kunt u voor de volgende (basis)registraties een terugmelding
    indienen of actuele informatie over terugmeldingen opvragen via de API:<p> <ul>
    <li>Basisregistratie Adressen en Gebouwen (BAG)</li> <li>Basisregistratie Grootschalige
    Topografie (BGT)</li> <li>Basisregistratie Topografie (BRT)</li> <li>Kabels en
    Leidingen Informatie Centrum (KLIC)</li><li>Aeronautische Obstakels (AERO)</li><li>3D
    Basisvoorziening (3DB)</li></ul> <p>U kunt de Terugmelding API eenvoudig integreren
    in uw eigen applicatie zoals een website of app (de API is beveiligd door middel
    van een API-key). Zie bijvoorbeeld [Verbeter de Kaart](https://www.verbeterdekaart.nl)
    waar de API gebruikt wordt om terugmeldingen te tonen en nieuwe terugmeldingen
    aan te maken. U kunt een API-key aanvragen voor de acceptatieomgeving (voor test-
    en aansluitdoeleinden) en de productie omgeving. Vraag gemakkelijk uw API-key
    aan via [API-key aanvraagformulier](https://formulieren.kadaster.nl/aanvragen_api_key_terugmelding_api).
    U ontvangt dan binnen enkele werkdagen uw API-key. <p>Verder gelden de volgende
    voorwaarden <ol> <li>Het Kadaster behoudt zich het recht voor om u de toegang
    tot de API op elk moment zonder opgave van redenen te ontzeggen.</li> <li>Het
    Kadaster is niet aansprakelijk voor schade als gevolg van (het gebruik) van de
    API.</li> <li>Voor zover u door het gebruik van de API een product of dienst afneemt,
    zijn de [Algemene leveringsvoorwaarden](https://www.kadaster.nl/algemene-leveringsvoorwaarden)
    van toepassing.</li> </ol> <p>En de volgende aandachtspunten <ol> <li>De terugmeldingen
    worden beschikbaar gesteld als open data, vul dus geen persoonlijke gegevens in
    bij de omschrijving. Attendeer hier ook eventuele andere gebruikers op.</li> <li>De
    toegewezen bronhouder wordt automatisch door het systeem bepaald aan de hand van
    de locatie van de terugmelding, u hoeft de bronhouder dus niet mee te geven.</li><li>Elke
    opgevraagde terugmelding bevat een ''statusCode'' en een bijbehorende ''status''.
    Hieronder volgt een overzicht:<table><tr><th>statusCode</th><th>status</th></tr><tr><td>NIEUW</td><td>Nieuw</td></tr><tr><td>IN_ONDERZOEK</td><td>In
    onderzoek</td></tr><tr><td>GEPARKEERD</td><td>Geparkeerd</td></tr><tr><td>GOEDGEKEURD</td><td>Goedgekeurd
    en ingepland</td></tr><tr><td>AFGEROND</td><td>Afgerond met aanpassing</td></tr><tr><td>AFGEWEZEN</td><td>Afgerond
    zonder aanpassing</td></tr><tr><td>DOORGESTUURD</td><td>Doorgestuurd</td></tr></table><br>NB
    GEPARKEERD is alleen beschikbaar bij de registraties BRT en AERO</li></ol> <p>Voor
    vragen over deze API kunt u terecht op het [Geoforum]( https://geoforum.nl/c/applicaties-en-diensten/terugmeldvoorzieningen)
    of mail naar bijgevoegd contactadres.</p> <p> <b>Change log</b> <ul><li>2.0.0
    01-07-2024: Livegang v2</li><li>2.1.0 15-10-2024: Geopackage bijlages zijn toegestaan.</li><li>2.2.0
    04-03-2025: Uitfaseren GDS2.</li><li>2.3.0 26-03-2025: Tekstuele aanpassingen
    aan status velden die horen bij statusCodes AFGEROND, AFGEWEZEN, DOORGESTUURD
    en GOEDGEKEURD.</li><li>2.3.1 27-03-2025: Java spring versie update</li><li>2.4.0
    08-08-2025: BRK verwijderd (acceptatie)</li></ul></p>'
  termsOfService: https://www.kadaster.nl/algemene-leveringsvoorwaarden
  title: Terugmelding API
  version: 2.3.1
openapi: 3.1.0
paths:
  /crss:
    get:
      description: Deze lijst geeft terug welke crs'en gebruikt kunnen worden binnen
        de Terugmelding API om terugmeldingen in een bepaald CRS in te dienen en op
        te vragen.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Crss'
          description: 'OK: lijst met beschikbare crs''en'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: verkeerde apikey'
      summary: Opvragen van alle beschikbare crs'en
      tags:
      - Opvragen
  /terugmeldingen:
    get:
      operationId: getAllTerugmeldingenV2UsingGET
      parameters:
      - description: De crs URI die hoort bij het crs waarin de terugmeldingen worden
          opgevraagd. Mag alleen `https://www.opengis.net/def/crs/EPSG/0/28992`, `https://www.opengis.net/def/crs/EPSG/0/7415`,
          `https://www.opengis.net/def/crs/EPSG/0/4326` of `https://www.opengis.net/def/crs/EPSG/0/4979`
          zijn. Indien crs niet meegestuurd wordt, zal de default waarde `https://www.opengis.net/def/crs/EPSG/0/28992`
          gebruikt worden. Let op, er kunnen geen of beperkt resultaten zijn bij een
          bepaald crs.
        example: https://www.opengis.net/def/crs/EPSG/0/28992
        in: query
        name: crs
        schema:
          type: string
      - description: Terugmeldingen ingediend tot en met de ingevoerde datum, formaat
          yyyy-MM-dd. Bij weglaten van deze parameter wordt er niet gefiltered op
          peildatum.
        example: "2022-10-30"
        in: query
        name: peildatum
        schema:
          type: string
      - description: 'Registratie waar de terugmelding op ingediend is. 1 of meer
          mogelijk. Alleen de volgende waarden zijn toegestaan: BAG,BGT,BRT,KLIC,AERO
          of 3DB. Bij weglaten van deze parameter worden alle registraties opgevraagd.'
        example: BRT,BAG
        in: query
        name: registratie
        schema:
          type: string
      - description: 'De status van de terugmelding zoals bepaald door de bronhouder.
          1 of meer mogelijk. Alleen de volgende waarden zijn toegestaan: NIEUW,IN_ONDERZOEK,GOEDGEKEURD,GEPARKEERD,DOORGESTUURD,AFGEWEZEN
          of AFGEROND. Bij weglaten van deze parameter worden alle statussen opgevraagd.
          NB GEPARKEERD is alleen beschikbaar bij de registraties BRT en AERO. Voor
          nadere uitleg over de statussen kunt u terecht bij de Veelgestelde vragen
          van [Verbeter de Kaart](https://www.verbeterdekaart.nl/).'
        example: NIEUW,IN_ONDERZOEK
        in: query
        name: statusCode
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerugmeldingFeatureCollection'
          description: 'OK: terugmeldingen in GeoJSON formaat'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
            Content-Crs:
              description: Geleverde crs
              schema:
                type: string
        "400":
          description: 'Bad Request: syntax onjuist of geen apikey'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: verkeerde apikey'
      summary: Opvragen van terugmeldingen van registraties
      tags:
      - Opvragen
    post:
      operationId: createTerugmeldingGenericV2UsingPOST
      parameters:
      - description: 'Type crs die hoort bij de GeoJSON. Mag alleen `https://www.opengis.net/def/crs/EPSG/0/28992`,
          `https://www.opengis.net/def/crs/EPSG/0/7415`, `https://www.opengis.net/def/crs/EPSG/0/4326`
          of `https://www.opengis.net/def/crs/EPSG/0/4979` zijn. Indien `Content-Crs`
          niet meegestuurd wordt, zal de default waarde `https://www.opengis.net/def/crs/EPSG/0/28992`
          gebruikt worden. Terugmeldingen worden in de API ook geconverteerd naar
          andere crs''en zodat zij ook daarin beschikbaar zijn tijdens het opvragen.
          Bij het indienen van een melding in een 2D crs (EPSG:28992 of EPSG:4326)
          wordt deze alleen geconverteerd naar het andere 2D crs. Bij het indienen
          van een terugmelding in een 3D crs (EPSG:7415 of EPSG:4974) wordt deze geconverteerd
          naar het andere 3D crs EN beide 2D crs''en. '
        example: https://www.opengis.net/def/crs/EPSG/0/28992
        in: header
        name: Content-Crs
        required: false
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            encoding:
              melding:
                contentType: application/json
            schema:
              properties:
                files:
                  description: '1 of meer bijlagen ter ondersteuning van uw terugmelding.
                    De volgende eisen zijn geldig: 1. Alleen de volgende extensies:
                    bmp, jpg, jpeg, gif, png, pdf, doc, docx, odt, xls, xlsx, ods,
                    ppt, pptx, odp en gpkg. 2. Maximaal 5 bijlagen per terugmelding.
                    3. De bestandsnaam zonder extensie moet minstens 1 teken hebben.
                    4. De complete bestandsnaam mag maximaal 100 tekens lang zijn.
                    5. De bijlagen mogen gezamenlijk niet groter zijn dan 20 MB. 6.
                    De bestandsnaam dient uniek te zijn per terugmelding.'
                  items:
                    format: binary
                    type: string
                  type: array
                melding:
                  description: 'Terugmelding in GeoJSON formaat conform het model
                    ‘TerugmeldingFeatureCollection’. Dit is altijd 1 terugmelding
                    en kan alleen van type ''Point'' zijn. Het Content-Type wat moet
                    worden meegegeven is `application/json`. Voor een (uitgebreid)
                    voorbeeld zie: [POST voorbeeld](https://api.kadaster.nl/tms/v2/post-voorbeeld).
                    <br><br>Let op: wanneer je gebruik maakt van een [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData)
                    object voor het indienen van een terugmelding dan zal het `melding`
                    gedeelte moeten worden ingediend in de vorm van een [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob).
                    Dit heeft als reden dat een`Blob` de enige manier is om een header
                    mee te geven binnen een `FormData`-object en dus het Content-Type
                    `application/json` kan meesturen. Dit is voornamelijk relevant
                    voor applicaties die de API gebruiken vanuit een frontend applicatie.'
                  type: object
              required:
              - melding
              type: object
      responses:
        "201":
          description: 'Created: ingediende terugmelding'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
            Location:
              description: Relatieve URL van waar de aangemaakte resource te vinden
                is, hier vind je ook het meldingsnummer terug
              schema:
                type: string
        "400":
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/GeneriekErrorResponse'
          description: 'Bad Request: syntax onjuist of geen apikey'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: verkeerde apikey'
        "403":
          description: 'Forbidden: onjuist content-type'
        "406":
          description: 'Not Acceptable: ''Content-Crs'' waarde onjuist'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "415":
          description: 'Unsupported Media Type: kan terugkomen als je de body niet
            op form-data zet, maar op JSON'
      summary: Indienen van 1 terugmelding voor een registratie
      tags:
      - Indienen
  /terugmeldingen/{meldingsNummer}:
    get:
      operationId: getTerugmeldingByMeldingsNummer
      parameters:
      - description: De crs URI die hoort bij het crs waarin de terugmeldingen worden
          opgevraagd. Mag alleen `https://www.opengis.net/def/crs/EPSG/0/28992`, `https://www.opengis.net/def/crs/EPSG/0/7415`,
          `https://www.opengis.net/def/crs/EPSG/0/4326` of `https://www.opengis.net/def/crs/EPSG/0/4979`
          zijn. Indien crs niet meegestuurd wordt, zal de default waarde `https://www.opengis.net/def/crs/EPSG/0/28992`
          gebruikt worden. Let op, er kan geen resultaat zijn bij een bepaald crs.
        example: https://www.opengis.net/def/crs/EPSG/0/28992
        in: query
        name: crs
        schema:
          type: string
      - description: Uniek meldingsNummer van de terugmelding (alleen cijfers dus
          bijvoorbeeld 12345)
        in: path
        name: meldingsNummer
        required: true
        schema:
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeldingFeature'
          description: 'OK: 1 terugmelding in GeoJSON formaat'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
            Content-Crs:
              description: Geleverde crs
              schema:
                type: string
        "400":
          description: 'Bad Request: syntax onjuist of geen apikey'
          headers:
            API-Version:
              description: Gebruikte versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: verkeerde apikey'
        "404":
          description: 'Not Found: terugmelding bestaat niet'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
      summary: Opvragen van 1 terugmelding van een registratie
      tags:
      - Opvragen
security:
- apikeyAuth: []
servers:
- description: Acceptatie omgeving
  url: https://api.acceptatie.kadaster.nl/tms/v2
- description: Productie omgeving
  url: https://api.kadaster.nl/tms/v2
tags:
- description: API voor opvragen van terugmeldingen en indienen van een terugmelding
  name: Terugmelding API
