components:
  callbacks: {}
  examples: {}
  headers: {}
  links: {}
  parameters: {}
  requestBodies: {}
  responses: {}
  schemas:
    Bronhouder:
      properties:
        bronhoudercode:
          type: string
        bronhoudernaam:
          type: string
      title: Bronhouder
      type: object
    Crss:
      properties:
        crs:
          items:
            type: string
          type: array
      title: Crss
      type: object
    ErrorResponseBulkPatch:
      items:
        properties:
          meldingsNummer:
            type: number
          meldingsNummerVolledig:
            type: string
          reden:
            items:
              type: string
            type: array
          statusCode:
            type: string
        required:
        - reden
        type: object
      title: ErrorResponseBulkPatch
      type: array
    GeneriekErrorResponse:
      items:
        properties:
          reden:
            items:
              type: string
            type: array
        required:
        - reden
        type: object
      title: GeneriekErrorResponse
      type: array
    GeneriekErrorResponseOptionalReden:
      items:
        properties:
          reden:
            items:
              type: string
            type: array
        type: object
      title: GeneriekErrorResponse
      type: array
    Geometry:
      properties:
        coordinates:
          items:
            format: double
            type: number
          type: array
        type:
          type: string
      required:
      - coordinates
      - type
      title: Geometry
      type: object
    MeldingFeature:
      properties:
        geometry:
          properties:
            coordinates:
              items:
                format: double
                type: number
              type: array
            type:
              type: string
          required:
          - coordinates
          - type
          title: Geometry
          type: object
        properties:
          type: object
        type:
          type: string
      required:
      - geometry
      - properties
      - type
      title: MeldingFeature
      type: object
    MergePatch:
      properties:
        bronhoudercode:
          type: string
        doorsturenNaar:
          type: string
        omschrijving:
          type: string
        statusCode:
          type: string
        toelichting:
          type: string
      title: MergePatch
      type: object
    MergePatchBulk:
      properties:
        bronhoudercode:
          type: string
        doorsturenNaar:
          type: string
        meldingsnummer:
          type: number
        omschrijving:
          type: string
        statusCode:
          type: string
        toelichting:
          type: string
      title: MergePatch
      type: object
    TerugmeldingFeatureCollection:
      properties:
        features:
          items:
            properties:
              geometry:
                properties:
                  coordinates:
                    items:
                      format: double
                      type: number
                    type: array
                  type:
                    type: string
                required:
                - coordinates
                - type
                title: Geometry
                type: object
              properties:
                type: object
              type:
                type: string
            required:
            - geometry
            - properties
            - type
            title: MeldingFeature
            type: object
          type: array
        name:
          type: string
        type:
          type: string
      required:
      - features
      - name
      - type
      title: TerugmeldingFeatureCollection
      type: object
    TerugmeldingFeaturePaginationCollection:
      properties:
        features:
          description: De lijst van GeoJSON features
          items:
            properties:
              geometry:
                properties:
                  coordinates:
                    items:
                      format: double
                      type: number
                    type: array
                  type:
                    type: string
                required:
                - coordinates
                - type
                title: Geometry
                type: object
              properties:
                type: object
              type:
                type: string
            required:
            - geometry
            - properties
            - type
            title: MeldingFeature
            type: object
          type: array
        name:
          description: De naam van de collectie
          example: Terugmelding Pagination
          type: string
        page:
          description: Paginatie-informatie zoals het huidige paginanummer en het
            totale aantal pagina's
          properties:
            currentPage:
              description: Het huidige paginanummer
              example: 1
              type: integer
            pageSize:
              description: De grootte van de pagina (aantal items per pagina)
              example: 25
              type: integer
            totalItems:
              description: Het totale aantal beschikbare items
              example: 250
              type: integer
            totalPages:
              description: Het totale aantal beschikbare pagina's
              example: 10
              type: integer
          type: object
        type:
          description: Het type van de GeoJSON feature collectie
          example: FeatureCollection
          type: string
      required:
      - name
      - type
      - features
      - page
      type: object
  securitySchemes:
    oauth2:
      flows:
        authorizationCode:
          authorizationUrl: https://authorization.kadaster.nl/auth/oauth/v2/authorize?response_type=code&client_id=[client_id]&redirect_uri=[redirect_uri]&scope=[scope]
          scopes:
            tms.3db: Kunnen wijzigen van terugmeldingen van de 3DB + indienen van
              nieuwe terugmeldingen
            tms.3db.readonly: Kunnen lezen van terugmeldingen van de 3DB
            tms.aero: Kunnen wijzigen van terugmeldingen van de AERO + indienen van
              nieuwe terugmeldingen
            tms.aero.readonly: Kunnen lezen van terugmeldingen van de AERO
            tms.bag: Kunnen wijzigen van eigen terugmeldingen van de BAG + indienen
              van nieuwe terugmeldingen
            tms.bag.readonly: Kunnen lezen van eigen terugmeldingen van de BAG
            tms.bgt: Kunnen wijzigen van eigen terugmeldingen van de BGT + indienen
              van nieuwe terugmeldingen
            tms.bgt.readonly: Kunnen lezen van eigen terugmeldingen van de BGT
            tms.brk: Kunnen wijzigen van terugmeldingen van de BRK + indienen van
              nieuwe terugmeldingen
            tms.brk.readonly: Kunnen lezen van terugmeldingen van de BRK
            tms.brt: Kunnen wijzigen van terugmeldingen van de BRT + indienen van
              nieuwe terugmeldingen
            tms.brt.readonly: Kunnen lezen van terugmeldingen van de BRT
            tms.klic: Kunnen wijzigen van terugmeldingen van KLIC + indienen van nieuwe
              terugmeldingen
            tms.klic.readonly: Kunnen lezen van terugmeldingen van KLIC
          tokenUrl: https://authorization.kadaster.nl/auth/oauth/v2/token
      type: oauth2
info:
  contact:
    email: terugmeldingapi@kadaster.nl
    name: Kadaster
    url: https://www.pdok.nl/restful-api/-/article/terugmeldingen-voor-bronhouders-gesloten-
  description: 'Welkom bij de Terugmelding Bronhouder API van het Kadaster! Deze API
    wordt beschikbaar gesteld voor bronhouders. Via deze API kunt u terugmeldingen
    beheren: dit betekent dat u uw eigen terugmeldingen kunt opvragen en wijzigen.
    Eigen terugmeldingen zijn terugmeldingen waar u de bronhouder van bent. Bij het
    opvragen van terugmeldingen kunt u alle gegevens zien, inclusief persoonlijke
    gegevens zoals een e-mail adres. Verder kunt u een nieuwe terugmelding indienen
    voor elke registratie. <p>Momenteel zijn de volgende (basis)registraties beschikbaar:<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>De API is beveiligd door
    middel van oAuth. U kunt aangesloten worden voor de acceptatieomgeving (voor test-
    en aansluitdoeleinden) en de productie omgeving. Vraag eenvoudig uw aansluiting
    aan via [oAuth aanvraagformulier](https://formulieren.kadaster.nl/terugmelding-bronhouder-api-oauth).
    U ontvangt dan binnen enkele werkdagen uw aansluitgegevens. Voor instructies over
    het aansluiten op deze API met oAuth zie [deze handleiding](https://api.kadaster.nl/tms/v2/terugmeldingbronhouder-instructies).
    <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 toelichting en omschrijving. Attendeer hier ook eventuele andere gebruikers
    op.</li> <li>Bij de autorisaties wordt onderscheid gemaakt per registratie.</li>
    <li>Als u autorisatie heeft om te wijzigen, kunt u ook nieuwe terugmeldingen indienen
    voor elke registratie.</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.<br><p> <b>Change log</b> <ul><li>2.0.0 01-07-2024:
    Livegang v2</li><li>2.2.0 25-09-2024: Mogelijkheid om meerdere terugmeldingen
    te patchen in één keer</li><li>2.3.0 15-10-2024: Geopackage bijlages zijn toegestaan.</li><li>2.4.0
    04-03-2025: Uitfaseren GDS2.</li><li>2.5.0 26-03-2025: Tekstuele aanpassingen
    aan status velden die horen bij statusCodes AFGEROND, AFGEWEZEN, DOORGESTUURD
    en GOEDGEKEURD.</li><li>2.5.1 27-03-2025: Java spring versie update</li><li>2.5.2
    03-04-2025: Bugfix</li><li>2.6.0 08-08-2025: BRK verwijderd (acceptatie)</li><li>2.6.1
    21-08-2025: Uitgebreidere foutcodes als het gma userdetails endpoint errors geeft</li><li>2.6.2
    03-09-2025: Uitgebreidere 404 reden als het gma userdetails endpoint een 404 geeft</li><li>2.6.3
    08-09-2025: Taalfout opgelost in foutmelding</li><li>2.7.0 14-10-2025: Paginering
    toegevoegd en filteraantallen</li><li>2.8.0 20-10-2025: Bij een bronhouderwijziging
    gaat de status automatisch naar IN_ONDERZOEK</li><li>2.9.0 22-10-2025: Endpoint
    `/terugmeldingen/paginering` toegevoegd</li></ul>'
  termsOfService: https://www.kadaster.nl/algemene-leveringsvoorwaarden
  title: Terugmelding Bronhouder API
  version: 2.9.0
openapi: 3.1.0
paths:
  /crss:
    get:
      description: Deze lijst geeft terug welke crs'en gebruikt kunnen worden binnen
        de Terugmelding Bronhouder API om terugmeldingen in een bepaald CRS in te
        dienen en op te vragen.
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  crs:
                    items:
                      type: string
                    type: array
                title: Crss
                type: object
          description: 'OK: lijst met beschikbare crs''en'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: geen of verkeerd token'
        "403":
          description: 'Forbidden: geen toegang met huidige scope(s)'
      summary: Opvragen van alle beschikbare crs'en
      tags:
      - Opvragen
  /lijsten/bronhouders/{registratie}:
    get:
      description: Deze lijst kan worden gebruikt om te achterhalen welke geldige
        bronhouders beschikbaar zijn. Dit kan bijvoorbeeld worden gebruikt om een
        keuzelijst te tonen aan de gebruiker zodat de 'bronhoudercode' bij een PATCH
        bronhouderwijziging kan worden bepaald.
      operationId: getAllBronhoudersForRegistratie
      parameters:
      - description: 'Gewenste registratie: 1 mogelijk. Zie eerdere uitleg bij het
          opvragen van meerdere terugmeldingen.'
        example: BAG
        in: path
        name: registratie
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  properties:
                    bronhoudercode:
                      type: string
                    bronhoudernaam:
                      type: string
                  title: Bronhouder
                  type: object
                type: array
          description: 'OK: lijst van bronhouders'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "400":
          description: 'Bad Request: Ongeldig datum formaat ingevoerd, gebruik deze
            formatering: YYYY-MM-DD of De datum mag niet in de toekomst liggen'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: geen of verkeerd token'
        "403":
          description: 'Forbidden: geen toegang met huidige scope(s) of onjuist content-type'
      summary: Opvragen van alle bronhouders van een registratie
      tags:
      - Opvragen
  /lijsten/registraties:
    get:
      description: Deze lijst kan worden gebruikt om te achterhalen welke registraties
        beschikbaar zijn. Dit kan bijvoorbeeld worden gebruikt om een keuzelijst te
        tonen aan de gebruiker zodat de 'doorsturenNaar' bij een PATCH doorsturen
        kan worden bepaald.
      operationId: getAllRegistratieNamesfromConfig
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  type: string
                type: array
          description: 'OK: lijst van registraties'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: geen of verkeerd token'
        "403":
          description: 'Forbidden: geen toegang met huidige scope(s) of onjuist content-type'
      summary: Opvragen van alle beschikbare registraties
      tags:
      - Opvragen
  /terugmeldingen:
    get:
      description: 'Aanvullende informatie: <li>U ziet alle gegevens van een terugmelding
        inclusief persoonlijke gegevens als e-mail en eventuele bijlagen. </li> <li>Bij
        een terugmelding kan extra informatie aanwezig zijn: u ziet dit in veld secundair.
        Dit kan bestaan uit meerdere JSON objecten en arrays.</li>'
      operationId: getAllTerugmeldingenBronhoudersV2UsingGET
      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: 'Extra informatie die bij de terugmelding is vastgelegd: de beschikbare
          velden staan onder ''secundair'' vermeld in de response. Naar wens 1 of
          meer velden. Bij weglaten van deze parameter wordt er niet gefiltered op
          secundair. Voorbeeld: secundair.referentie=KGO1243&secundair.organisatie=Bedrijf'
        in: query
        name: secundair
        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
      - description: Een deel van alle properties van een terugmelding. Bij het ophalen
          van terugmeldingen met een bepaalde subset, worden niet alle properties
          van een terugmelding geleverd. Met de (enig beschikbare) subset 'basis'
          worden de properties `secundair` en `bijlagen` niet geleverd. Bij weglaten
          van deze parameter worden alle properties geleverd.
        example: basis
        in: query
        name: subset
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  features:
                    items:
                      properties:
                        geometry:
                          properties:
                            coordinates:
                              items:
                                format: double
                                type: number
                              type: array
                            type:
                              type: string
                          required:
                          - coordinates
                          - type
                          title: Geometry
                          type: object
                        properties:
                          type: object
                        type:
                          type: string
                      required:
                      - geometry
                      - properties
                      - type
                      title: MeldingFeature
                      type: object
                    type: array
                  name:
                    type: string
                  type:
                    type: string
                required:
                - features
                - name
                - type
                title: TerugmeldingFeatureCollection
                type: object
          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'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: geen of verkeerd token'
        "403":
          description: 'Forbidden: geen toegang met huidige scope(s)'
        "404":
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  required:
                  - reden
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Not Found: Rechten van de bronhouder niet kunnen verkrijgen
            (bronhouder niet gevonden)'
        "504":
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  required:
                  - reden
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Gateway Timeout: Rechten van de bronhouder niet kunnen verkrijgen
            (timeout)'
      summary: Opvragen van meerdere terugmeldingen van registraties
      tags:
      - Opvragen
    patch:
      description: 'Aanvullende informatie: <li>Alleen de volgende velden van een
        terugmelding kunnen worden gewijzigd: <b>omschrijving, toelichting, statusCode
        en bronhoudercode</b>. </li><li>Daarnaast is het veld <b>doorsturenNaar</b>
        beschikbaar voor het doorsturen van een terugmelding naar een andere registratie.
        </li><li>Zie hieronder voor enkele voorbeelden met nadere uitleg: u kunt enkele
        wijzigingen met elkaar combineren.</li>'
      operationId: patchMeldingenBulkUsingPATCH
      requestBody:
        content:
          application/merge-patch+json:
            examples:
              bronhouderwijziging:
                description: 'Als meerdere terugmeldingen door andere bronhouders
                  van dezelfde registratie dienen te worden afgehandeld, dan kunt
                  u dit hiermee doorvoeren. U hoeft alleen de <b>bronhoudercodes</b>
                  op te geven: de juiste bronhoudernamen worden door het systeem erbij
                  gezocht'
                summary: Bulk Bronhouderwijziging
                value:
                - bronhoudercode: "0402"
                  meldingsNummer: 34567
                - bronhoudercode: "0402"
                  meldingsNummer: 123456
              doorsturennaarandereregistratie:
                description: Stuur meerdere terugmeldingen door naar een andere registratie.
                  Alleen de beschikbare registraties (behalve de huidige registratie
                  van de terugmeldingen) kunnen worden ingevuld bij `doorsturenNaar`.
                summary: Bulk doorsturen naar andere registratie
                value:
                - doorsturenNaar: BRT
                  meldingsNummer: 12345
                  statusCode: DOORGESTUURD
                  toelichting: Deze meldingen zijn doorgestuurd naar de juiste registratie
                - doorsturenNaar: BRT
                  meldingsNummer: 23456
                  statusCode: DOORGESTUURD
                  toelichting: Deze meldingen zijn doorgestuurd naar de juiste registratie
              meerderewijzigingen:
                description: Voer meerdere wijzigingen in één keer uit op verschillende
                  terugmeldingen, inclusief statuswijzigingen, doorsturen naar andere
                  registraties, tekstuele wijzigingen, en bronhouderwijzigingen.
                summary: Bulk meerdere wijzigingen
                value:
                - bronhoudercode: "0402"
                  meldingsNummer: 12345
                  statusCode: IN_ONDERZOEK
                  toelichting: Deze terugmelding wordt verder onderzocht.
                - doorsturenNaar: BRT
                  meldingsNummer: 67890
                  statusCode: DOORGESTUURD
                  toelichting: Deze terugmelding is doorgestuurd naar een andere registratie.
                - meldingsNummer: 34567
                  toelichting: De omschrijving is aangepast wegens privacy overwegingen.
                - meldingsNummer: 23456
                  statusCode: AFGEROND
                  toelichting: Deze terugmelding is succesvol afgerond.
              statuswijziging:
                description: 'Wijzig de status van meerdere terugmeldingen in één
                  keer. Alleen de volgende waarden zijn toegestaan bij het `statusCode`
                  veld: IN_ONDERZOEK, GOEDGEKEURD, GEPARKEERD, AFGEWEZEN, AFGEROND
                  en SPAM.'
                summary: Bulk statuswijziging
                value:
                - meldingsNummer: 12345
                  statusCode: IN_ONDERZOEK
                  toelichting: Deze terugmeldingen worden verder onderzocht.
                - meldingsNummer: 67890
                  statusCode: AFGEROND
                  toelichting: Deze terugmeldingen worden verder onderzocht.
                - meldingsNummer: 23456
                  statusCode: SPAM
                  toelichting: Deze terugmeldingen worden verder onderzocht.
              tekstuelewijziging:
                description: Pas tekstuele wijzigingen toe op meerdere terugmeldingen,
                  zoals aanpassing van `omschrijving` of `toelichting`.
                summary: Bulk tekstuele wijziging
                value:
                - meldingsNummer: 34567
                  toelichting: De omschrijving is aangepast wegens privacy overwegingen.
                - meldingsNummer: 123456
                  toelichting: De omschrijving is aangepast wegens privacy overwegingen.
                    2
            schema:
              properties:
                bronhoudercode:
                  type: string
                doorsturenNaar:
                  type: string
                meldingsnummer:
                  type: number
                omschrijving:
                  type: string
                statusCode:
                  type: string
                toelichting:
                  type: string
              title: MergePatch
              type: object
        required: true
      responses:
        "204":
          description: 'No Content: de terugmeldingen zijn succesvol bijgewerkt'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                items:
                  properties:
                    meldingsNummer:
                      type: number
                    meldingsNummerVolledig:
                      type: string
                    reden:
                      items:
                        type: string
                      type: array
                    statusCode:
                      type: string
                  required:
                  - reden
                  type: object
                title: ErrorResponseBulkPatch
                type: array
          description: 'Bad Request: validatiefouten opgetreden'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: geen of verkeerd token'
        "403":
          description: 'Forbidden: geen toegang met huidige scope(s)'
        "422":
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  required:
                  - reden
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Unprocessable Entity: aangeboden wijziging bevat geen velden
            die gewijzigd kunnen worden'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
      summary: Wijzigen van meerdere terugmeldingen van registraties
      tags:
      - Wijzigen
    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:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  required:
                  - reden
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Bad Request: syntax onjuist'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: geen of verkeerd token'
        "403":
          description: 'Forbidden: geen toegang met huidige scope(s) of 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: getTerugmeldingBronhoudersV2UsingGET
      parameters:
      - description: Uniek meldingsNummer van de terugmelding (alleen cijfers dus
          bijvoorbeeld 12345)
        in: path
        name: meldingsNummer
        required: true
        schema:
          type: integer
      - 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: Gebruik 'historie' om de wijzigingshistorie van de terugmelding
          mee te krijgen
        in: query
        name: expand
        required: false
        schema:
          enum:
          - historie
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  geometry:
                    properties:
                      coordinates:
                        items:
                          format: double
                          type: number
                        type: array
                      type:
                        type: string
                    required:
                    - coordinates
                    - type
                    title: Geometry
                    type: object
                  properties:
                    type: object
                  type:
                    type: string
                required:
                - geometry
                - properties
                - type
                title: MeldingFeature
                type: object
          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'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: geen of verkeerd token'
        "403":
          description: 'Forbidden: geen toegang met huidige scope(s)'
        "404":
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Not Found: terugmelding bestaat niet of rechten van de bronhouder
            konden niet verkregen worden (bronhouder niet gevonden)'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "504":
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  required:
                  - reden
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Gateway Timeout: Rechten van de bronhouder niet kunnen verkrijgen
            (timeout)'
      summary: Opvragen van 1 terugmelding van een registratie
      tags:
      - Opvragen
    patch:
      description: 'Aanvullende informatie: <li>Alleen de volgende velden van een
        terugmelding kunnen worden gewijzigd: <b>omschrijving, toelichting, statusCode
        en bronhoudercode</b>. </li><li>Daarnaast is het veld <b>doorsturenNaar</b>
        beschikbaar voor het doorsturen van een terugmelding naar een andere registratie.
        </li><li>Zie hieronder voor enkele voorbeelden met nadere uitleg: u kunt enkele
        wijzigingen met elkaar combineren.</li>'
      operationId: updateTerugmeldingGenericV2UsingPATCH
      parameters:
      - description: Uniek meldingsNummer van de terugmelding (alleen cijfers dus
          bijvoorbeeld 12345)
        in: path
        name: meldingsNummer
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/merge-patch+json:
            examples:
              bronhouderwijziging:
                description: 'Als een terugmelding door een andere bronhouder van
                  dezelfde registratie dient te worden afgehandeld, dan kunt u dit
                  hiermee doorvoeren. U hoeft alleen een <b>bronhoudercode</b> op
                  te geven: de juiste bronhoudernaam wordt door het systeem erbij
                  gezocht.'
                summary: Bronhouderwijziging
                value:
                  bronhoudercode: "0402"
              doorsturennaarandereregistratie:
                description: 'Hiermee wordt de terugmelding doorgestuurd: er wordt
                  een nieuwe terugmelding gemaakt voor de opgegeven registratie waarbij
                  de informatie van de huidige terugmelding wordt meegenomen zoals
                  de locatie, omschrijving, bijlagen e.d. Alleen de beschikbare registraties
                  (behalve de huidige registratie van de terugmelding) kunnen worden
                  ingevuld bij <b>doorsturenNaar</b>.'
                summary: Doorsturen naar andere registratie
                value:
                  doorsturenNaar: BRT
                  statusCode: DOORGESTUURD
                  toelichting: 'Deze melding is niet voor de BGT: uw melding is doorgestuurd
                    naar de juiste registratie'
              statuswijziging:
                description: 'Hiermee zet u een terugmelding op een andere status
                  in de workflow. Alleen de volgende waarden zijn toegestaan bij het
                  <b>statusCode</b> veld: IN_ONDERZOEK,GOEDGEKEURD,GEPARKEERD,AFGEWEZEN,AFGEROND
                  en SPAM. De <b>statusCode</b> 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/).
                  De <b>statusCode</b> SPAM dient u alleen te gebruiken bij een nep
                  of onzinnige terugmelding aangezien de terugmelding hierna wordt
                  verwijderd.'
                summary: Statuswijziging
                value:
                  statusCode: IN_ONDERZOEK
                  toelichting: 'Dank voor de melding: uw melding wordt nader onderzocht.'
              tekstuelewijziging:
                description: Hiermee kunt u indien nodig een correctie op de <b>omschrijving</b>
                  of de <b>toelichting</b> doorvoeren, bijvoorbeeld in het geval van
                  privacy gevoelige gegevens die niet getoond mogen worden.
                summary: Tekstuele wijziging
                value:
                  omschrijving: Straatnaam ontbreekt hier. U kunt mij bellen op <verwijderd>.
            schema:
              properties:
                bronhoudercode:
                  type: string
                doorsturenNaar:
                  type: string
                omschrijving:
                  type: string
                statusCode:
                  type: string
                toelichting:
                  type: string
              title: MergePatch
              type: object
        required: true
      responses:
        "204":
          description: 'No Content: terugmelding is gewijzigd'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "400":
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  required:
                  - reden
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Bad Request: syntax onjuist'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: geen of verkeerd token'
        "403":
          description: 'Forbidden: geen toegang met huidige scope(s)'
        "404":
          description: 'Not Found: terugmelding bestaat niet'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "412":
          description: 'Pre-condition Failed: aangeboden wijziging is al verwerkt'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "422":
          description: 'Unprocessable Entity: aangeboden wijziging bevat geen velden
            die gewijzigd kunnen worden'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
      summary: Wijzigen van 1 terugmelding van een registratie
      tags:
      - Wijzigen
  /terugmeldingen/{meldingsNummer}/bijlagen/{bijlageId}:
    get:
      parameters:
      - description: Het meldingsNummer van de bijbehorende bijlage
        example: "100"
        in: path
        name: meldingsNummer
        required: true
        schema:
          type: integer
      - description: Het bijlageId van de gewenstebijlage
        example: "100"
        in: path
        name: bijlageId
        required: true
        schema:
          type: integer
      responses:
        "200":
          content:
            '*/*':
              schema:
                format: binary
                type: string
          description: 'OK: de opgevraagde bijlage'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "401":
          description: 'Unauthorized: geen of verkeerd token'
        "403":
          description: 'Forbidden: geen toegang met huidige scope(s) of onjuist content-type'
        "404":
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: Bijlage bestaat niet of het opgegeven meldingsNummer hoort
            niet bij het bijlageId of de rechten van de bronhouder konden niet verkregen
            worden (bronhouder niet gevonden)
        "504":
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  required:
                  - reden
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Gateway Timeout: Rechten van de bronhouder niet kunnen verkrijgen
            (timeout)'
      summary: De bijlage van het gegeven bijlageId krijgen
      tags:
      - Opvragen
  /terugmeldingen/paginering:
    get:
      description: Terugmeldingen worden gepagineerd opgehaald.
      operationId: getPaginatedTerugmeldingen
      parameters:
      - description: De bron van de terugmelding.
        example: Verbeter de Kaart
        in: query
        name: bron
        required: false
        schema:
          type: string
      - description: De bronhoudernaam van de terugmelding.
        example: Kadaster
        in: query
        name: bronhoudernaam
        required: false
        schema:
          type: string
      - description: 'Het coördinatensysteem waarin de terugmeldingen worden opgevraagd.
          Toegestane waarden: EPSG:28992, EPSG:7415, EPSG:4326, EPSG:4979. Indien
          niet meegestuurd, wordt de standaardwaarde EPSG:28992 gebruikt.'
        example: https://www.opengis.net/def/crs/EPSG/0/28992
        explode: false
        in: query
        name: crs
        required: false
        schema:
          type: string
        style: form
      - description: De pagina van de resultaten die moet worden opgehaald. Index
          begint bij 0.
        example: 0
        in: query
        name: page
        required: false
        schema:
          default: 0
          type: integer
      - description: 'De peildatum tot en met wanneer terugmeldingen worden opgevraagd.
          Formaat: yyyy-MM-dd.'
        example: "2025-10-28"
        in: query
        name: peildatum
        required: false
        schema:
          format: date
          type: string
      - description: 'Een of meer registraties waarvoor de terugmeldingen opgehaald
          moeten worden, gescheiden door komma''s. Toegestane waarden: BAG, BGT, BRT,
          KLIC, AERO, 3DB.'
        example: BAG,BGT
        explode: false
        in: query
        name: registratie
        required: false
        schema:
          type: string
        style: form
      - description: Een zoekveld voor de velden email, omschrijving, toelichting
          en meldingsnummer.
        example: test@test.nl
        in: query
        name: search
        required: false
        schema:
          type: string
      - description: Het aantal resultaten per pagina.
        example: 10
        in: query
        name: size
        required: false
        schema:
          default: 10
          type: integer
      - description: 'Een of meer statussen van de terugmeldingen, gescheiden door
          komma''s. Toegestane waarden: NIEUW, IN_ONDERZOEK, GOEDGEKEURD, GEPARKEERD,
          DOORGESTUURD, AFGEWEZEN, AFGEROND.'
        example: NIEUW,IN_ONDERZOEK
        in: query
        name: statusCode
        required: false
        schema:
          type: string
      - description: 'Een subset van eigenschappen van een terugmelding opvragen.
          Toegestane waarde: ''basis''.'
        example: basis
        in: query
        name: subset
        required: false
        schema:
          type: string
      - description: 'De tijdstipRegistratie-datum. Formaat: yyyy-MM-dd'
        example: "2025-01-01"
        in: query
        name: tijdstipRegistratie
        required: false
        schema:
          format: date
          type: string
      - description: 'De tijdstipWijziging-datum. Formaat: yyyy-MM-dd'
        example: "2025-01-01"
        in: query
        name: tijdstipWijziging
        required: false
        schema:
          format: date
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  features:
                    description: De lijst van GeoJSON features
                    items:
                      properties:
                        geometry:
                          properties:
                            coordinates:
                              items:
                                format: double
                                type: number
                              type: array
                            type:
                              type: string
                          required:
                          - coordinates
                          - type
                          title: Geometry
                          type: object
                        properties:
                          type: object
                        type:
                          type: string
                      required:
                      - geometry
                      - properties
                      - type
                      title: MeldingFeature
                      type: object
                    type: array
                  name:
                    description: De naam van de collectie
                    example: Terugmelding Pagination
                    type: string
                  page:
                    description: Paginatie-informatie zoals het huidige paginanummer
                      en het totale aantal pagina's
                    properties:
                      currentPage:
                        description: Het huidige paginanummer
                        example: 1
                        type: integer
                      pageSize:
                        description: De grootte van de pagina (aantal items per pagina)
                        example: 25
                        type: integer
                      totalItems:
                        description: Het totale aantal beschikbare items
                        example: 250
                        type: integer
                      totalPages:
                        description: Het totale aantal beschikbare pagina's
                        example: 10
                        type: integer
                    type: object
                  type:
                    description: Het type van de GeoJSON feature collectie
                    example: FeatureCollection
                    type: string
                required:
                - name
                - type
                - features
                - page
                type: object
          description: 'Succesvol opgehaald: terugmeldingen in paginatie-formaat'
        "400":
          content:
            application/json:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  required:
                  - reden
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Bad Request: De opgegeven parameters zijn ongeldig.'
        "401":
          description: 'Unauthorized: Geen of een ongeldige token gebruikt.'
        "403":
          description: 'Forbidden: Geen toegang met de huidige scope(s) of rechten.'
      summary: Opvragen van terugmeldingen met paginering
      tags:
      - Opvragen
  /terugmeldinghistorie:
    get:
      description: Van het indienen van een nieuwe terugmelding en van elke wijziging
        van een terugmelding wordt vastgelegd wanneer dit heeft plaatsgevonden en
        wat er is gewijzigd. Met deze opvraging kan die terugmeldinghistorie worden
        ingezien voor een bepaalde periode. Met de startdatum en einddatum wordt gekeken
        naar de datum waarop de historie is vastgelegd.
      operationId: getAllTerugmeldingHistorie
      parameters:
      - description: Startdatum voor het filteren van de terugmeldinghistorie
        in: query
        name: startdatum
        required: true
        schema:
          type: string
      - description: Einddatum voor het filteren van de terugmeldinghistorie
        in: query
        name: einddatum
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            text/csv:
              example: csv,comma,separated,data
              schema:
                type: string
          description: 'OK: terugmeldinghistorie in CSV-formaat'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
            Content-Crs:
              description: Geleverde crs
              schema:
                type: string
        "400":
          description: 'Bad Request: Ongeldig datum formaat ingevoerd of ongeldige
            crs URI. Gebruik voor de datum deze formatering: YYYY-MM-DD. De datum
            mag niet in de toekomst liggen'
          headers:
            Api-Version:
              description: De actuele versie
              schema:
                type: string
        "403":
          description: 'Forbidden: geen toegang met huidige scope(s) of onjuist content-type'
        "404":
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  required:
                  - reden
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Not Found: Rechten van de bronhouder niet kunnen verkrijgen
            (bronhouder niet gevonden)'
        "500":
          description: 'Internal Server Error: Bij het ophalen van de terugmeldinghistorie
            is iets misgegaan. Als het probleem zich blijft voordoen, probeer dan
            de start- en einddatum te verkleinen.'
        "504":
          content:
            application/json;charset=utf-8:
              schema:
                items:
                  properties:
                    reden:
                      items:
                        type: string
                      type: array
                  required:
                  - reden
                  type: object
                title: GeneriekErrorResponse
                type: array
          description: 'Gateway Timeout: Rechten van de bronhouder niet kunnen verkrijgen
            (timeout)'
      summary: Opvragen van de gehele terugmeldinghistorie
      tags:
      - Opvragen
security:
- oauth2: []
servers:
- description: Acceptatie omgeving
  url: https://service10.acceptatie.kadaster.nl/tms/bronhouders/v2
- description: Productie omgeving
  url: https://service10.kadaster.nl/tms/bronhouders/v2
tags:
- description: API voor opvragen van terugmeldingen, indienen van een terugmelding
    en wijzigen van een terugmelding
  name: Terugmelding Bronhouder API
