{"openapi":"3.1.0","info":{"title":"Percelio Inzicht-API","version":"1.0","summary":"Adres in, oordeel uit. Indicatieve marktwaarde, BAG-kenmerken, WOZ, label en invloeden.","description":"De Inzicht-API geeft een oordeel per Nederlands adres. Geen dataset, geen Kadaster-koopsommen, geen PDF.\n\nAuthenticatie: `Authorization: Bearer pct_\u2026`. Idempotency: header `Idempotency-Key`. Betaalde calls kosten credits (5 cent per stuk); whoami telt niet mee.\n\nMCP is dezelfde catalogus via `POST \/mcp` (tools `property_value`, `property_address`, `woz`, `influences`). Argumenten daar liggen plat (`postcode`, `huisnummer`)."},"servers":[{"url":"https:\/\/percelio.nl","description":"Percelio"}],"tags":[{"name":"Sleutel","description":"Wat deze sleutel mag. Telt niet mee voor het plafond."},{"name":"Inzicht","description":"E\u00e9n adres, \u00e9\u00e9n voorziening, \u00e9\u00e9n antwoord."}],"paths":{"\/api\/v1\/whoami":{"get":{"tags":["Sleutel"],"operationId":"whoami","summary":"Wat deze sleutel mag","description":"Rechten, geldigheid en het credit-tegoed. Telt niet mee, kost niets.","responses":{"200":{"description":"Sleutel en saldo.","content":{"application\/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#\/components\/schemas\/Whoami"},"meta":{"$ref":"#\/components\/schemas\/Meta"}}}}}},"401":{"description":"Geen of ongeldige sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}}}}},"\/api\/v1\/inzicht\/waarde":{"post":{"tags":["Inzicht"],"operationId":"waarde","summary":"Indicatieve marktwaarde","description":"Adres in, geschatte marktwaarde uit. Optioneel peildatum (WOZ-vergelijking) en woonoppervlakte. Geen comparables, geen taxatie. \u20ac0,90 per call. 404 telt niet; 422 wegens te weinig verkopen wel. MCP-tool: `property_value`.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WaardeInvoer"}}}},"responses":[{"description":"Gelukt.","content":{"application\/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#\/components\/schemas\/Waarde"},"meta":{"$ref":"#\/components\/schemas\/Meta"}}}}}},{"description":"Geen of ongeldige sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Tegoed op.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"},"saldo":{"$ref":"#\/components\/schemas\/Saldo"}}}}}},{"description":"Dit recht zit niet op de sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Adres niet gevonden.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Ongeldige invoer of te weinig data.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Te snel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Ongeldige invoer of te weinig data.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"},"betrouwbaarheid":{"type":"string"}}}}}}],"x-mcp-tool":"property_value"}},"\/api\/v1\/inzicht\/adres":{"post":{"tags":["Inzicht"],"operationId":"adres","summary":"BAG-kenmerken","description":"Bouwjaar, woonoppervlakte, woningtype, energielabel, co\u00f6rdinaten. Geen live Kadaster-call. \u20ac0,05 per call. MCP-tool: `property_address`.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AdresInvoer"}}}},"responses":[{"description":"Gelukt.","content":{"application\/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#\/components\/schemas\/AdresKenmerken"},"meta":{"$ref":"#\/components\/schemas\/Meta"}}}}}},{"description":"Geen of ongeldige sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Tegoed op.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"},"saldo":{"$ref":"#\/components\/schemas\/Saldo"}}}}}},{"description":"Dit recht zit niet op de sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Adres niet gevonden.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Ongeldige invoer of te weinig data.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Te snel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}}],"x-mcp-tool":"property_address"}},"\/api\/v1\/inzicht\/woz":{"post":{"tags":["Inzicht"],"operationId":"woz","summary":"WOZ-reeks","description":"Nieuwste peildatum eerst, uit eigen tabel. Lege reeks is 200, geen 404. \u20ac0,05 per call. MCP-tool: `woz`.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AdresInvoer"}}}},"responses":[{"description":"Gelukt.","content":{"application\/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#\/components\/schemas\/Woz"},"meta":{"$ref":"#\/components\/schemas\/Meta"}}}}}},{"description":"Geen of ongeldige sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Tegoed op.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"},"saldo":{"$ref":"#\/components\/schemas\/Saldo"}}}}}},{"description":"Dit recht zit niet op de sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Adres niet gevonden.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Ongeldige invoer of te weinig data.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Te snel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}}],"x-mcp-tool":"woz"}},"\/api\/v1\/inzicht\/label":{"post":{"tags":["Inzicht"],"operationId":"label","summary":"Energielabel","description":"Uit de BAG-kopie, geen live EP-Online in de request. \u20ac0,05 per call.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AdresInvoer"}}}},"responses":[{"description":"Gelukt.","content":{"application\/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#\/components\/schemas\/Label"},"meta":{"$ref":"#\/components\/schemas\/Meta"}}}}}},{"description":"Geen of ongeldige sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Tegoed op.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"},"saldo":{"$ref":"#\/components\/schemas\/Saldo"}}}}}},{"description":"Dit recht zit niet op de sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Adres niet gevonden.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Ongeldige invoer of te weinig data.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Te snel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}}]}},"\/api\/v1\/inzicht\/woningtype":{"post":{"tags":["Inzicht"],"operationId":"woningtype","summary":"Woningtype","description":"Uit bag_adressen.woningtype (pandgeometrie). Leeg: meer VBO\u2019s in \u00e9\u00e9n pand \u2192 appartement. Geen live 3DBAG. \u20ac0,05 per call.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AdresInvoer"}}}},"responses":[{"description":"Gelukt.","content":{"application\/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#\/components\/schemas\/Woningtype"},"meta":{"$ref":"#\/components\/schemas\/Meta"}}}}}},{"description":"Geen of ongeldige sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Tegoed op.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"},"saldo":{"$ref":"#\/components\/schemas\/Saldo"}}}}}},{"description":"Dit recht zit niet op de sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Adres niet gevonden.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Ongeldige invoer of te weinig data.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Te snel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}}]}},"\/api\/v1\/inzicht\/invloeden":{"post":{"tags":["Inzicht"],"operationId":"invloeden","summary":"Omgevingsstoplichten","description":"Kernset synchroon, zonder geometrie. Optioneel `types` (max. 12). 422 zonder co\u00f6rdinaten. Eerste call kan een paar seconden duren. \u20ac0,80 per call. MCP-tool: `influences`.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/InvloedenInvoer"}}}},"responses":[{"description":"Gelukt.","content":{"application\/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#\/components\/schemas\/Invloeden"},"meta":{"$ref":"#\/components\/schemas\/Meta"}}}}}},{"description":"Geen of ongeldige sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Tegoed op.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"},"saldo":{"$ref":"#\/components\/schemas\/Saldo"}}}}}},{"description":"Dit recht zit niet op de sleutel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Adres niet gevonden.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Ongeldige invoer of te weinig data.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}},{"description":"Te snel.","content":{"application\/json":{"schema":{"type":"object","required":["fout"],"properties":{"fout":{"type":"string"}}}}}}],"x-mcp-tool":"influences"}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"pct_","description":"Inzicht-sleutel uit de accountinstellingen. Header: Authorization: Bearer pct_\u2026"}},"schemas":{"Adres":{"type":"object","properties":{"weergave":{"type":"string","example":"Diezerstraat 12, Zwolle"},"postcode":{"type":"string"},"huisnummer":{"type":"integer"},"toevoeging":{"type":["string","null"]}}},"AdresInvoer":{"type":"object","required":["adres"],"properties":{"adres":{"type":"object","required":["postcode","huisnummer"],"properties":{"postcode":{"type":"string","example":"8011AB"},"huisnummer":{"oneOf":[{"type":"string"},{"type":"integer"}],"example":"12"},"toevoeging":{"type":["string","null"]}}}}},"WaardeInvoer":{"type":"object","required":["adres"],"properties":{"adres":{"type":"object","required":["postcode","huisnummer"],"properties":{"postcode":{"type":"string","example":"8011AB"},"huisnummer":{"oneOf":[{"type":"string"},{"type":"integer"}],"example":"12"},"toevoeging":{"type":["string","null"]}}},"peildatum":{"type":"string","format":"date","example":"2026-01-01"},"woonoppervlakte":{"type":"integer","minimum":20,"maximum":2000}}},"InvloedenInvoer":{"type":"object","required":["adres"],"properties":{"adres":{"type":"object","required":["postcode","huisnummer"],"properties":{"postcode":{"type":"string","example":"8011AB"},"huisnummer":{"oneOf":[{"type":"string"},{"type":"integer"}],"example":"12"},"toevoeging":{"type":["string","null"]}}},"types":{"type":"array","maxItems":12,"items":{"type":"string","enum":["natura2000","hoogspanning","geluid_wegverkeer","geluid_spoor","geluid_industrie","geluid_vliegverkeer","luchtvaart","luchtvaart_beperkingen","trillingen","stank","spuitzone","externe_veiligheid","bodem","luchtkwaliteit","flora_fauna"]}}}},"Waarde":{"type":"object","properties":{"adres":{"$ref":"#\/components\/schemas\/Adres"},"marktwaarde":{"type":"integer"},"min":{"type":"integer"},"max":{"type":"integer"},"betrouwbaarheid":{"type":"string"},"peildatum":{"type":"string","format":"date"},"valuta":{"type":"string","example":"EUR"}}},"AdresKenmerken":{"type":"object","properties":{"adres":{"$ref":"#\/components\/schemas\/Adres"},"bouwjaar":{"type":["integer","null"]},"woonoppervlakte":{"type":["integer","null"]},"perceeloppervlakte":{"type":["integer","null"]},"woningtype":{"type":["string","null"]},"energielabel":{"type":["string","null"]},"gemeente":{"type":["string","null"]},"coordinaten":{"type":["object","null"],"properties":{"lat":{"type":"number"},"lng":{"type":"number"}}}}},"Woz":{"type":"object","properties":{"adres":{"$ref":"#\/components\/schemas\/Adres"},"huidig":{"oneOf":[{"$ref":"#\/components\/schemas\/WozPunt"},{"type":"null"}]},"reeks":{"type":"array","items":{"$ref":"#\/components\/schemas\/WozPunt"}}}},"WozPunt":{"type":"object","properties":{"waarde":{"type":"integer"},"peildatum":{"type":["string","null"],"format":"date"},"valuta":{"type":"string"}}},"Label":{"type":"object","properties":{"adres":{"$ref":"#\/components\/schemas\/Adres"},"label":{"type":["string","null"]},"opnamedatum":{"type":["string","null"],"format":"date"},"bron":{"type":["string","null"]}}},"Woningtype":{"type":"object","properties":{"adres":{"$ref":"#\/components\/schemas\/Adres"},"woningtype":{"type":["string","null"]},"bron":{"type":["string","null"]},"toelichting":{"type":["string","null"]}}},"Invloeden":{"type":"object","properties":{"adres":{"$ref":"#\/components\/schemas\/Adres"},"samenvatting":{"type":"object","properties":{"rood":{"type":"integer"},"oranje":{"type":"integer"},"groen":{"type":"integer"},"grijs":{"type":"integer"}}},"invloeden":{"type":"array","items":{"$ref":"#\/components\/schemas\/Invloed"}}}},"Invloed":{"type":"object","properties":{"type":{"type":"string"},"label":{"type":"string"},"stoplicht":{"type":"string","enum":["rood","oranje","groen","grijs"]},"samenvatting":{"type":"string"},"afstand_m":{"type":["number","null"]},"bron":{"type":"object","properties":{"naam":{"type":["string","null"]},"url":{"type":["string","null"]}}}}},"Whoami":{"type":"object","properties":{"naam":{"type":"string"},"familie":{"type":"string","enum":["inzicht","beheer"]},"voorvoegsel":{"type":"string"},"rechten":{"type":"array","items":{"type":"string"}},"bereik":{"type":"string"},"projecten":{"type":"array"},"verloopt_op":{"type":["string","null"],"format":"date-time"},"saldo":{"oneOf":[{"$ref":"#\/components\/schemas\/Saldo"},{"type":"null"}]}}},"Saldo":{"type":"object","properties":{"credits":{"type":"integer","example":1000},"eenheid_cent":{"type":"integer","example":5},"tegoed_cent":{"type":"integer","example":5000}}},"Meta":{"type":"object","properties":{"schema":{"type":"string","example":"percelio\/inzicht"},"schema_versie":{"type":"string"},"voorziening":{"type":"string"},"kanaal":{"type":"string","enum":["rest","mcp"]},"cached":{"type":"boolean"},"gefactureerd_cent":{"type":"integer"},"duur_ms":{"type":"integer"}}}},"headers":{"Idempotency-Key":{"description":"Eigen id, max. 128 tekens. Dezelfde sleutel + voorziening binnen 24 uur telt \u00e9\u00e9n keer.","schema":{"type":"string","maxLength":128}}}},"security":[{"bearer":[]}]}