{"endpoints":{"/api/agent":"Agent-ready API capability metadata (GET)","/api/agent/bookings/prepare":"Build external booking handoff instructions (POST)","/api/agent/manifest":"Machine-readable tool manifest for AI agents (GET)","/api/agent/search":"Structured tee-time search for AI agents (POST)","/api/agent/tee_times/<tee_time_id>":"Get a single tee time in agent-friendly format (GET)","/api/auth/request_code":"Send MFA code to a phone number (POST)","/api/auth/verify_code":"Verify MFA code and create session (POST)","/api/available_dates":"Get distinct available dates from cached tee times","/api/cache/warm":"Warm cached tee-time API responses (POST, admin)","/api/cached_teetimes":"Get all cached tee times","/api/cached_teetimes/<course_name>":"Get cached tee times for specific course","/api/course_requests":"Submit course requests (POST)","/api/course_requests/<id>/mark_added":"Mark course request as added (PATCH)","/api/eaglewood_teetimes":"Get Eaglewood tee times","/api/file_a_bug":"Submit bug reports (POST)","/api/foreup_teetimes":"Get ForeUp tee times","/api/request_logs":"Get external API request logs (GET)","/api/scrape_logs":"Get scrape run logs (GET, admin)","/api/scrape_logs/failures":"Get actionable scrape failures (GET, admin)","/api/site_status":"Get public scraper freshness status for site banners","/api/smart_search":"Natural-language smart search for tee times (GET/POST)","/api/soft_metrics":"Get compact cached inventory metrics for fast UI loading","/api/teetimes":"Get ChronoGolf tee times","/api/telemetry_logs":"Get site telemetry logs (GET, admin)","/api/users":"Create or update a user (POST)","/api/voting_rooms":"Create voting room (POST)","/api/voting_rooms/<room_id>":"Get room details and results (GET)","/test_api/teetimes":"Get mock tee times for testing","/voting":"UI for creating voting rooms"},"message":"Utah Golf Booking API"}
