[{"data":1,"prerenderedAt":104},["ShallowReactive",2],{"doc-api":3},{"doc":4,"nav":82},{"meta":5,"toc":22,"code":29,"content":37},{"title":6,"subtitle":7,"breadcrumb":8,"breadcrumbs":9,"showHeader":18,"seoTitle":19,"seoDescription":20,"updated":21},"API Referenz","challenge & verify – Requests, Responses, Fehlercodes","Docs",[10,13,16],{"label":11,"to":12},"Start","/",{"label":14,"to":15},"Dokumentation","/docs",{"label":17},"API",false,"SmartCaptcha API-Referenz: verify und challenge","API-Referenz von SmartCaptcha: Endpunkte challenge und verify mit Request, Response, Score, Entscheidung und Fehlercodes (400, 401, 402, 403, 409).","2026-10-04",[23,26],{"label":24,"href":25},"Endpoints","#endpoints",{"label":27,"href":28},"Fehlercodes","#errors",{"challengeBody":30,"verifyBody":33,"verifyResponse":35},{"lang":31,"body":32},"json","{ \"siteKey\": \"sk_...\", \"action\": \"contact\", \"sid\": \"scs_…\", \"meta\": { \"ttf\": 2.4, \"hp\": 0, \"vc\": 1 } }\n",{"lang":31,"body":34},"{ \"siteKey\": \"sk_...\", \"secret\": \"sec_...\", \"token\": \"v4.local....\", \"sid\": \"scs_…\", \"action\": \"contact\" }\n",{"lang":31,"body":36},"{ \"ok\": true, \"score\": 0.86, \"decision\": \"allow\", \"reason\": \"ok\", \"plan\": \"growth\", \"threshold\": 0.6 }\n",[38,42,46,68,71],{"type":39,"id":40,"kicker":14,"title":6,"lead":41},"hero","top","Die wichtigsten Endpunkte: Token holen (challenge) und Token prüfen (verify).",{"type":43,"id":44,"title":24,"subtitle":45},"sectionTitle","endpoints","challenge (Token) & verify (Entscheidung).",{"type":47,"blocks":48},"card",[49,61,65],{"type":50,"items":51},"apiGrid",[52,57],{"method":53,"path":54,"desc":55,"codeRef":56},"POST","/v1/challenge","Widget holt Token (kurzlebig)","challengeBody",{"method":53,"path":58,"desc":59,"codeRef":60},"/v1/verify","Server prüft Token + Secret","verifyBody",{"type":62,"title":63,"html":64},"callout","Verify Response","Du bekommst ok/score/decision/reason. Bei Limits kann 402 kommen.",{"type":66,"ref":67},"code","verifyResponse",{"type":43,"id":69,"title":27,"subtitle":70},"errors","Was du im Client/Backend tun solltest.",{"type":47,"blocks":72},[73],{"type":74,"items":75},"list",[76,77,78,79,80,81],"\u003Cb>400\u003C/b> missing_token / missing_params / invalid_token / replay_or_expired → Submission blocken. Ohne Token trotzdem /v1/verify aufrufen (mit leerem \u003Cspan class='mono'>token\u003C/span>), damit der Block im Dashboard gezählt wird.","\u003Cb>401\u003C/b> invalid_secret → Secret prüfen (Rotate?).","\u003Cb>403\u003C/b> Origin not allowed / Action not allowed → Domain bzw. Action im Dashboard unter „Websites &amp; Keys“ freigeben. Erscheint auch unter Auswertung → Blockiert.","\u003Cb>402\u003C/b> payment_required / plan_limit → Upgrade-Hinweis anzeigen.","\u003Cb>409\u003C/b> no_valid_mandate (Billing) → Checkout starten.","\u003Cb>429\u003C/b> rate_limited → Retry / Backoff / IP-Limit.",[83,89,93,95,100],{"slug":84,"title":85,"subtitle":86,"category":87,"order":88},"integration","Integration","Widget einbinden → Token → Server Verify","Allgemein",999,{"slug":90,"title":91,"subtitle":92,"category":87,"order":88},"wordpress","WordPress (CF7 & WPForms)","Token prüfen und Submissions blocken (deny)",{"slug":94,"title":6,"subtitle":7,"category":87,"order":88},"api",{"slug":96,"title":97,"subtitle":98,"category":87,"order":99},"datenschutz","Datenschutz","Textbaustein für deine Datenschutzerklärung und der Auftragsverarbeitungsvertrag",4,{"slug":101,"title":102,"subtitle":103,"category":87,"order":88},"troubleshooting","Troubleshooting","Häufige Probleme & schnelle Fixes",1791148860351]