{
  "openapi": "3.0.0",
  "info": {
    "title": "Terugmelding API",
    "version": "2.3.1",
    "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. Hiervoor kunt u een API-key aanvragen voor identificatie van uw applicatie. 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 het [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",
    "contact": {
      "name": "Kadaster",
      "email": "terugmeldingapi@kadaster.nl",
      "url": "https://www.pdok.nl/restful-api/-/article/bag-terugmeldingen"
    }
  },
  "servers": [
    {
      "url": "https://api.acceptatie.kadaster.nl/tms/v2",
      "description": "Acceptatie omgeving"
    },
    {
      "url": "https://api.kadaster.nl/tms/v2",
      "description": "Productie omgeving"
    }
  ],
  "paths": {
    "/terugmeldingen": {
      "get": {
        "summary": "Opvragen van terugmeldingen van registraties",
        "responses": {
          "200": {
            "description": "OK: terugmeldingen in GeoJSON formaat",
            "headers": {
              "Content-Crs": {
                "description": "Geleverde crs",
                "schema": {
                  "type": "string"
                }
              },
              "Api-Version": {
                "description": "De actuele versie",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerugmeldingFeatureCollection"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request: syntax onjuist of geen apikey",
            "headers": {
              "Api-Version": {
                "description": "De actuele versie",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized: verkeerde apikey"
          }
        },
        "tags": [
          "Opvragen"
        ],
        "operationId": "getAllTerugmeldingenV2UsingGET",
        "parameters": [
          {
            "name": "crs",
            "in": "query",
            "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.",
            "schema": {
              "type": "string"
            },
            "example": "https://www.opengis.net/def/crs/EPSG/0/28992"
          },
          {
            "name": "peildatum",
            "in": "query",
            "description": "Terugmeldingen ingediend tot en met de ingevoerde datum, formaat yyyy-MM-dd. Bij weglaten van deze parameter wordt er niet gefiltered op peildatum.",
            "schema": {
              "type": "string"
            },
            "example": "2022-10-30"
          },
          {
            "name": "registratie",
            "in": "query",
            "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.",
            "schema": {
              "type": "string"
            },
            "example": "BRT,BAG"
          },
          {
            "name": "statusCode",
            "in": "query",
            "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/).",
            "schema": {
              "type": "string"
            },
            "example": "NIEUW,IN_ONDERZOEK"
          }
        ]
      },
      "post": {
        "summary": "Indienen van 1 terugmelding voor een registratie",
        "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": {
            "description": "Bad Request: syntax onjuist of geen apikey",
            "headers": {
              "Api-Version": {
                "description": "De actuele versie",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/GeneriekErrorResponse"
                }
              }
            }
          },
          "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"
          }
        },
        "tags": [
          "Indienen"
        ],
        "operationId": "createTerugmeldingGenericV2UsingPOST",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "melding"
                ],
                "properties": {
                  "melding": {
                    "type": "object",
                    "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."
                  },
                  "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.",
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              },
              "encoding": {
                "melding": {
                  "contentType": "application/json"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Crs",
            "in": "header",
            "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. ",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "https://www.opengis.net/def/crs/EPSG/0/28992"
          }
        ]
      }
    },
    "/terugmeldingen/{meldingsNummer}": {
      "get": {
        "summary": "Opvragen van 1 terugmelding van een registratie",
        "responses": {
          "200": {
            "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"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeldingFeature"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        },
        "tags": [
          "Opvragen"
        ],
        "operationId": "getTerugmeldingByMeldingsNummer",
        "parameters": [
          {
            "name": "crs",
            "in": "query",
            "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.",
            "schema": {
              "type": "string"
            },
            "example": "https://www.opengis.net/def/crs/EPSG/0/28992"
          },
          {
            "name": "meldingsNummer",
            "in": "path",
            "description": "Uniek meldingsNummer van de terugmelding (alleen cijfers dus bijvoorbeeld 12345)",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ]
      }
    },
    "/crss": {
      "get": {
        "summary": "Opvragen van alle beschikbare crs'en",
        "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": {
            "description": "OK: lijst met beschikbare crs'en",
            "headers": {
              "Api-Version": {
                "description": "De actuele versie",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Crss"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized: verkeerde apikey"
          }
        },
        "tags": [
          "Opvragen"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "TerugmeldingFeatureCollection": {
        "title": "TerugmeldingFeatureCollection",
        "type": "object",
        "properties": {
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeldingFeature"
            }
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "features",
          "name",
          "type"
        ]
      },
      "GeneriekErrorResponse": {
        "title": "GeneriekErrorResponse",
        "type": "object",
        "properties": {
          "reden": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "meldingsNummerVolledig",
          "reden"
        ]
      },
      "MeldingFeature": {
        "title": "MeldingFeature",
        "type": "object",
        "properties": {
          "geometry": {
            "$ref": "#/components/schemas/Geometry"
          },
          "properties": {
            "type": "object"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "geometry",
          "properties",
          "type"
        ]
      },
      "Geometry": {
        "title": "Geometry",
        "type": "object",
        "properties": {
          "coordinates": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            }
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "coordinates",
          "type"
        ]
      },
      "Crss": {
        "title": "Crss",
        "type": "object",
        "properties": {
          "crs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "responses": {},
    "parameters": {},
    "examples": {},
    "requestBodies": {},
    "headers": {},
    "securitySchemes": {
      "apikeyAuth": {
        "type": "apiKey",
        "name": "apikey",
        "in": "header"
      }
    },
    "links": {},
    "callbacks": {}
  },
  "security": [
    {
      "apikeyAuth": []
    }
  ],
  "tags": [
    {
      "name": "Terugmelding API",
      "description": "API voor opvragen van terugmeldingen en indienen van een terugmelding"
    }
  ]
}
