{"duration_api_ms":6699,"stop_reason":"end_turn","session_id":"a9d1b339-d216-452d-b50a-9fa42cac42eb","total_cost_usd":0.080731,"usage":{"input_tokens":2,"cache_creation_input_tokens":18365,"cache_read_input_tokens":8470,"output_tokens":642,"output_tokens_details":{"thinking_tokens":0},"server_tool_use":{"web_search_requests":0,"web_fetch_requests":0},"service_tier":"standard","cache_creation":{"ephemeral_1h_input_tokens":18365,"ephemeral_5m_input_tokens":0},"inference_geo":"global","iterations":[{"input_tokens":2,"output_tokens":642,"cache_read_input_tokens":8470,"cache_creation_input_tokens":18365,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":18365},"type":"message"}],"speed":"standard","fallback_credit":null},"modelUsage":{"claude-sonnet-5-5":{"inputTokens":2,"outputTokens":642,"cacheReadInputTokens":8470,"cacheCreationInputTokens":18365,"webSearchRequests":0,"costUSD":0.080731,"contextWindow":1000000,"maxOutputTokens":128000,"thinkingTokens":0,"canonicalModel":"claude-sonnet-5-5","provider":"firstParty","costBasis":"list"}},"permission_denials":[],"terminal_reason":"completed","fast_mode_state":"off","fast_mode_disabled_reason":"sdk_opt_in_required","subagent_stats":{"spawned":0,"requested":{"background":0,"foreground":0,"unset":0},"started_in_background":0,"max_depth":0,"spawned_by_subagents":0,"completed":0,"failed":0,"killed":{"parent":0,"user":0,"system":0},"refused":{"depth_limit":0,"concurrency_limit":0,"budget":0},"by_type":{}},"safety_stops":0,"is_error":false,"num_turns":1,"subtype":"success","api_error_status":null,"result":"**Steps (Google reCAPTCHA, v2 or v3):**\n\n1. In Google's reCAPTCHA admin (`https://www.google.com/recaptcha/admin/create`), create a key (Challenge v2 or Score-based v3) and note the site key and secret. Localhost domains aren't supported by default, so add them to the key's domain list if you need them for development.\n2. In the Keycloak Admin Console, go to **Authentication** → **Flows** tab → select the **Registration** flow.\n3. Find the **reCAPTCHA** execution and set its requirement to **Required**.\n4. Click the **gear icon** on the **reCAPTCHA** row and set:\n   - **reCAPTCHA Site Key**\n   - **reCAPTCHA Secret**\n   - **reCAPTCHA v3**: on for a v3 key, off for a v2 key.\n   - **Use recaptcha.net** (optional): uses `www.recaptcha.net` instead of `www.google.com`.\n5. Allow Google to frame the registration page. Go to **Realm Settings** → **Security Defenses** tab. Enter `https://www.google.com` in both the **X-Frame-Options** and **Content-Security-Policy** header fields. If you enabled **Use recaptcha.net**, use the recaptcha.net URL instead.\n\n**Caveats from the docs:**\n- The docs show the recaptcha.net value as `https//www.recaptcha.net`, with the colon missing. That looks like a typo, so use `https://www.recaptcha.net`.\n- The docs don't say how the Content-Security-Policy field relates to its default value. They only say to enter the URL in the field. I'm not certain whether you replace the existing value or add to it.\n- reCAPTCHA Enterprise is a different procedure. It uses a duplicated registration flow with a separate **reCAPTCHA Enterprise** execution. The steps above don't cover it.","ttft_ms":6857,"type":"result","duration_ms":6909,"uuid":"3e76cc09-1a10-42ea-b735-afe94b50a82b","ttft_stream_ms":2950,"time_to_request_ms":206,"first_content_frame_ms":2950,"queued_turn_count":0,"result_index":0}
