[{"data":1,"prerenderedAt":460},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fdocs\u002Fentwickler-einstieg\u002Ferror-451":156,"docs-surround-\u002Fdocs\u002Fentwickler-einstieg\u002Ferror-451":457},[4],{"title":5,"path":6,"stem":7,"children":8},"Start","\u002Fdocs","docs\u002F0.index",[9,10,28,54,80,126,152],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13,"children":14},"Erste Schritte","\u002Fdocs\u002Ferste-schritte","docs\u002F01.erste-schritte\u002F1.index",[15,16,20,24],{"title":11,"path":12,"stem":13},{"title":17,"path":18,"stem":19},"Erste Abfrage","\u002Fdocs\u002Ferste-schritte\u002Ferste-abfrage","docs\u002F01.erste-schritte\u002F2.erste-abfrage",{"title":21,"path":22,"stem":23},"Pläne und Abrechnung","\u002Fdocs\u002Ferste-schritte\u002Fabrechnung","docs\u002F01.erste-schritte\u002F3.abrechnung",{"title":25,"path":26,"stem":27},"Dashboard","\u002Fdocs\u002Ferste-schritte\u002Fdashboard","docs\u002F01.erste-schritte\u002F4.dashboard",{"title":29,"path":30,"stem":31,"children":32},"Leitfäden","\u002Fdocs\u002Fintegration-guides","docs\u002F02.integration-guides\u002F1.index",[33,34,38,42,46,50],{"title":29,"path":30,"stem":31},{"title":35,"path":36,"stem":37},"ChatGPT","\u002Fdocs\u002Fintegration-guides\u002Fchatgpt","docs\u002F02.integration-guides\u002F2.chatgpt",{"title":39,"path":40,"stem":41},"Claude","\u002Fdocs\u002Fintegration-guides\u002Fclaude","docs\u002F02.integration-guides\u002F3.claude",{"title":43,"path":44,"stem":45},"Gemini","\u002Fdocs\u002Fintegration-guides\u002Fgemini","docs\u002F02.integration-guides\u002F4.gemini",{"title":47,"path":48,"stem":49},"Copilot","\u002Fdocs\u002Fintegration-guides\u002Fcopilot","docs\u002F02.integration-guides\u002F5.copilot",{"title":51,"path":52,"stem":53},"Andere KI-Tools","\u002Fdocs\u002Fintegration-guides\u002Fandere-ki","docs\u002F02.integration-guides\u002F6.andere-ki",{"title":55,"path":56,"stem":57,"children":58},"Grundlagen","\u002Fdocs\u002Fgrundlagen","docs\u002F03.grundlagen\u002F1.index",[59,60,64,68,72,76],{"title":55,"path":56,"stem":57},{"title":61,"path":62,"stem":63},"Was ist ein Bodenrichtwert?","\u002Fdocs\u002Fgrundlagen\u002Fwas-ist-ein-bodenrichtwert","docs\u002F03.grundlagen\u002F2.was-ist-ein-bodenrichtwert",{"title":65,"path":66,"stem":67},"Richtig suchen","\u002Fdocs\u002Fgrundlagen\u002Frichtig-suchen","docs\u002F03.grundlagen\u002F3.richtig-suchen",{"title":69,"path":70,"stem":71},"Nutzungsart","\u002Fdocs\u002Fgrundlagen\u002Fnutzungsart","docs\u002F03.grundlagen\u002F4.nutzungsart",{"title":73,"path":74,"stem":75},"Ergebnis verstehen","\u002Fdocs\u002Fgrundlagen\u002Fergebnis-verstehen","docs\u002F03.grundlagen\u002F5.ergebnis-verstehen",{"title":77,"path":78,"stem":79},"Im Team arbeiten","\u002Fdocs\u002Fgrundlagen\u002Fim-team-arbeiten","docs\u002F03.grundlagen\u002F6.im-team-arbeiten",{"title":81,"path":82,"stem":83,"children":84},"API & Integration","\u002Fdocs\u002Fentwickler-einstieg","docs\u002F04.entwickler-einstieg\u002F1.index",[85,86,90,94,112,116,121],{"title":81,"path":82,"stem":83},{"title":87,"path":88,"stem":89},"Authentifizierung","\u002Fdocs\u002Fentwickler-einstieg\u002Fauthentication","docs\u002F04.entwickler-einstieg\u002F2.authentication",{"title":91,"path":92,"stem":93},"OAuth-App registrieren","\u002Fdocs\u002Fentwickler-einstieg\u002Foauth-app-registrieren","docs\u002F04.entwickler-einstieg\u002F3.oauth-app-registrieren",{"title":95,"path":96,"stem":97,"children":98},"REST API","\u002Fdocs\u002Fentwickler-einstieg\u002Frest-api","docs\u002F04.entwickler-einstieg\u002F4.rest-api\u002F1.index",[99,100,104,108],{"title":95,"path":96,"stem":97},{"title":101,"path":102,"stem":103},"GET \u002Fapi\u002Fbodenrichtwert","\u002Fdocs\u002Fentwickler-einstieg\u002Frest-api\u002Fbodenrichtwert","docs\u002F04.entwickler-einstieg\u002F4.rest-api\u002F2.bodenrichtwert",{"title":105,"path":106,"stem":107},"GET \u002Fapi\u002Fme","\u002Fdocs\u002Fentwickler-einstieg\u002Frest-api\u002Fme","docs\u002F04.entwickler-einstieg\u002F4.rest-api\u002F3.me",{"title":109,"path":110,"stem":111},"POST \u002Fapi\u002Fbodenwert","\u002Fdocs\u002Fentwickler-einstieg\u002Frest-api\u002Fbodenwert","docs\u002F04.entwickler-einstieg\u002F4.rest-api\u002F4.bodenwert",{"title":113,"path":114,"stem":115},"MCP Server","\u002Fdocs\u002Fentwickler-einstieg\u002Fmcp-server","docs\u002F04.entwickler-einstieg\u002F5.mcp-server",{"title":117,"path":118,"stem":119,"icon":120},"OpenAPI","\u002Fdocs\u002Fentwickler-einstieg\u002Fopenapi","docs\u002F04.entwickler-einstieg\u002F6.openapi","i-lucide-file-code-2",{"title":122,"path":123,"stem":124,"icon":125},"Fehler 451","\u002Fdocs\u002Fentwickler-einstieg\u002Ferror-451","docs\u002F04.entwickler-einstieg\u002F7.error-451","i-lucide-shield-alert",{"title":127,"path":128,"stem":129,"children":130},"Cookbooks","\u002Fdocs\u002Fcookbooks","docs\u002F05.cookbooks\u002F1.index",[131,132,136,140,144,148],{"title":127,"path":128,"stem":129},{"title":133,"path":134,"stem":135},"n8n","\u002Fdocs\u002Fcookbooks\u002Fn8n","docs\u002F05.cookbooks\u002F2.n8n",{"title":137,"path":138,"stem":139},"Python · pandas","\u002Fdocs\u002Fcookbooks\u002Fpython-pandas","docs\u002F05.cookbooks\u002F3.python-pandas",{"title":141,"path":142,"stem":143},"Excel · Power Query","\u002Fdocs\u002Fcookbooks\u002Fexcel-power-query","docs\u002F05.cookbooks\u002F4.excel-power-query",{"title":145,"path":146,"stem":147},"LangChain","\u002Fdocs\u002Fcookbooks\u002Flangchain","docs\u002F05.cookbooks\u002F5.langchain",{"title":149,"path":150,"stem":151},"Zapier · Make","\u002Fdocs\u002Fcookbooks\u002Fzapier-make","docs\u002F05.cookbooks\u002F6.zapier-make",{"title":153,"path":154,"stem":155},"Häufige Fragen","\u002Fdocs\u002Fhaeufige-fragen","docs\u002F06.haeufige-fragen",{"id":157,"title":158,"audience":159,"body":160,"description":451,"extension":452,"links":159,"meta":453,"navigation":454,"path":123,"seo":455,"stem":124,"__hash__":456},"docs\u002Fdocs\u002F04.entwickler-einstieg\u002F7.error-451.md","Fehler 451 — Unavailable For Legal Reasons",null,{"type":161,"value":162,"toc":445},"minimark",[163,167,176,181,212,216,310,314,328,417,421,441],[164,165,158],"h1",{"id":166},"fehler-451-unavailable-for-legal-reasons",[168,169,170,171,175],"p",{},"Die Antwort ",[172,173,174],"strong",{},"HTTP 451"," ist kein Bug, sondern eine absichtliche Compliance-Entscheidung:\nFür drei Bundesländer stehen aktuell keine amtlichen Daten zur Verfügung. Statt\nstille Falschwerte auszuliefern, antworten wir transparent.",[177,178,180],"h2",{"id":179},"betroffene-bundesländer","Betroffene Bundesländer",[182,183,184,196,204],"ul",{},[185,186,187,190,191],"li",{},[172,188,189],{},"Bayern"," — ",[192,193,195],"a",{"href":194},"\u002Fbundesland\u002Fbayern","Warteliste",[185,197,198,190,201],{},[172,199,200],{},"Schleswig-Holstein",[192,202,195],{"href":203},"\u002Fbundesland\u002Fschleswig-holstein",[185,205,206,190,209],{},[172,207,208],{},"Sachsen",[192,210,195],{"href":211},"\u002Fbundesland\u002Fsachsen",[177,213,215],{"id":214},"beispiel-response","Beispiel-Response",[217,218,223],"pre",{"className":219,"code":220,"language":221,"meta":222,"style":222},"language-json shiki shiki-themes github-light","HTTP\u002F1.1 451 Unavailable For Legal Reasons\nContent-Type: application\u002Fjson\n\n{\n  \"error\": \"restricted_state\",\n  \"message\": \"Bayern stellt keine Bodenrichtwert-Daten bereit.\",\n  \"status\": 451\n}\n","json","",[224,225,226,245,251,258,264,280,293,304],"code",{"__ignoreMap":222},[227,228,231,235,239,242],"span",{"class":229,"line":230},"line",1,[227,232,234],{"class":233},"sgsFI","HTTP\u002F",[227,236,238],{"class":237},"sYu0t","1.1",[227,240,241],{"class":237}," 451",[227,243,244],{"class":233}," Unavailable For Legal Reasons\n",[227,246,248],{"class":229,"line":247},2,[227,249,250],{"class":233},"Content-Type: application\u002Fjson\n",[227,252,254],{"class":229,"line":253},3,[227,255,257],{"emptyLinePlaceholder":256},true,"\n",[227,259,261],{"class":229,"line":260},4,[227,262,263],{"class":233},"{\n",[227,265,267,270,273,277],{"class":229,"line":266},5,[227,268,269],{"class":237},"  \"error\"",[227,271,272],{"class":233},": ",[227,274,276],{"class":275},"sYBdl","\"restricted_state\"",[227,278,279],{"class":233},",\n",[227,281,283,286,288,291],{"class":229,"line":282},6,[227,284,285],{"class":237},"  \"message\"",[227,287,272],{"class":233},[227,289,290],{"class":275},"\"Bayern stellt keine Bodenrichtwert-Daten bereit.\"",[227,292,279],{"class":233},[227,294,296,299,301],{"class":229,"line":295},7,[227,297,298],{"class":237},"  \"status\"",[227,300,272],{"class":233},[227,302,303],{"class":237},"451\n",[227,305,307],{"class":229,"line":306},8,[227,308,309],{"class":233},"}\n",[177,311,313],{"id":312},"was-tun","Was tun?",[168,315,316,319,320,323,324,327],{},[172,317,318],{},"In deiner App:"," fange den Status 451 explizit ab und zeige dem Nutzer einen hilfreichen\nHinweis — statt einer generischen Fehlermeldung. Die ",[224,321,322],{},"message"," nennt das betroffene\nBundesland; die Warteliste findest du unter ",[224,325,326],{},"\u002Fbundesland\u002F\u003Cbundesland>",".",[217,329,333],{"className":330,"code":331,"language":332,"meta":222,"style":222},"language-ts shiki shiki-themes github-light","const res = await fetch(url, { headers })\nif (res.status === 451) {\n  const { message } = await res.json()\n  \u002F\u002F User-Feedback: message + Link auf die Warteliste des Bundeslands\n  return null\n}\n","ts",[224,334,335,357,373,399,405,413],{"__ignoreMap":222},[227,336,337,341,344,347,350,354],{"class":229,"line":230},[227,338,340],{"class":339},"sD7c4","const",[227,342,343],{"class":237}," res",[227,345,346],{"class":339}," =",[227,348,349],{"class":339}," await",[227,351,353],{"class":352},"s7eDp"," fetch",[227,355,356],{"class":233},"(url, { headers })\n",[227,358,359,362,365,368,370],{"class":229,"line":247},[227,360,361],{"class":339},"if",[227,363,364],{"class":233}," (res.status ",[227,366,367],{"class":339},"===",[227,369,241],{"class":237},[227,371,372],{"class":233},") {\n",[227,374,375,378,381,383,386,389,391,394,396],{"class":229,"line":253},[227,376,377],{"class":339},"  const",[227,379,380],{"class":233}," { ",[227,382,322],{"class":237},[227,384,385],{"class":233}," } ",[227,387,388],{"class":339},"=",[227,390,349],{"class":339},[227,392,393],{"class":233}," res.",[227,395,221],{"class":352},[227,397,398],{"class":233},"()\n",[227,400,401],{"class":229,"line":260},[227,402,404],{"class":403},"sAwPA","  \u002F\u002F User-Feedback: message + Link auf die Warteliste des Bundeslands\n",[227,406,407,410],{"class":229,"line":266},[227,408,409],{"class":339},"  return",[227,411,412],{"class":237}," null\n",[227,414,415],{"class":229,"line":282},[227,416,309],{"class":233},[177,418,420],{"id":419},"warum-nicht-einfach-404-oder-200-mit-null","Warum nicht einfach 404 oder 200 mit Null?",[182,422,423,429,435],{},[185,424,425,428],{},[172,426,427],{},"404"," würde signalisieren, dass die Adresse nicht existiert — sie existiert aber.",[185,430,431,434],{},[172,432,433],{},"200 mit null-Wert"," wäre gefährlich: Konsumenten könnten das als \"kein Wert hinterlegt\"\ninterpretieren, statt als rechtlicher Block.",[185,436,437,440],{},[172,438,439],{},"451"," ist in RFC 7725 standardisiert und macht die Ursache eindeutig.",[442,443,444],"style",{},"html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}",{"title":222,"searchDepth":253,"depth":253,"links":446},[447,448,449,450],{"id":179,"depth":247,"text":180},{"id":214,"depth":247,"text":215},{"id":312,"depth":247,"text":313},{"id":419,"depth":247,"text":420},"Wann die API HTTP 451 zurückgibt, was das bedeutet und wie du den Fall in deiner Anwendung sauber behandelst.","md",{},{"title":122,"icon":125},{"title":158,"description":451},"V6pVtUqYUlQcJKJYC84EiCGVBb2bMQMpoC1MuXMBLGc",[458,459],{"title":117,"path":118,"stem":119,"icon":120,"children":-1},{"title":127,"path":128,"stem":129,"children":-1},1785091390669]