{"name":"Tinylytics API","version":"v1","base_url":"https://tinylytics.app/api/v1","auth":{"scheme":"Bearer","header":"Authorization: Bearer \u003capi_key\u003e","read_only_key_prefix":"tly-ro-","full_access_key_prefix":"tly-fa-","rate_limit_per_hour":1000},"docs":{"api_html":"https://tinylytics.app/docs/api","api_markdown":"https://tinylytics.app/docs/api.md","llms_txt":"https://tinylytics.app/llms.txt","llms_full_txt":"https://tinylytics.app/llms-full.txt","openapi_json":"https://tinylytics.app/api/v1/openapi.json"},"endpoints":[{"method":"GET","path":"/","full_path":"/api/v1","auth_required":false,"purpose":"Discover API metadata, docs links, and available endpoints."},{"method":"GET","path":"/me","full_path":"/api/v1/me","auth_required":true,"purpose":"Validate API key and return current account details."},{"method":"GET","path":"/openapi.json","full_path":"/api/v1/openapi.json","auth_required":false,"purpose":"Fetch the OpenAPI 3.1 machine-readable contract for API v1."},{"method":"GET","path":"/sites","full_path":"/api/v1/sites","auth_required":true,"purpose":"List accessible sites."},{"method":"GET","path":"/sites/:id","full_path":"/api/v1/sites/:id","auth_required":true,"purpose":"Get one site."},{"method":"GET","path":"/sites/:id/content","full_path":"/api/v1/sites/:id/content","auth_required":true,"purpose":"Content monitoring status and issues (subscription required)."},{"method":"POST","path":"/sites/:id/events","full_path":"/api/v1/sites/:id/events","auth_required":true,"purpose":"Create one event (full-access key required)."},{"method":"POST","path":"/sites/:id/events/batch","full_path":"/api/v1/sites/:id/events/batch","auth_required":true,"purpose":"Create many events in one request (full-access key required)."},{"method":"GET","path":"/sites/:id/hits","full_path":"/api/v1/sites/:id/hits","auth_required":true,"purpose":"Read raw or grouped analytics hits."},{"method":"POST","path":"/sites/:id/hits","full_path":"/api/v1/sites/:id/hits","auth_required":true,"purpose":"Create one hit (full-access key required)."},{"method":"POST","path":"/sites/:id/hits/batch","full_path":"/api/v1/sites/:id/hits/batch","auth_required":true,"purpose":"Create many hits in one request (full-access key required)."},{"method":"GET","path":"/sites/:id/insights","full_path":"/api/v1/sites/:id/insights","auth_required":true,"purpose":"AI insights for the site (subscription required)."},{"method":"GET","path":"/sites/:id/kudos","full_path":"/api/v1/sites/:id/kudos","auth_required":true,"purpose":"Read kudos records."},{"method":"POST","path":"/sites/:id/kudos","full_path":"/api/v1/sites/:id/kudos","auth_required":true,"purpose":"Create one kudo (full-access key required)."},{"method":"DELETE","path":"/sites/:id/kudos/:kudo_uid","full_path":"/api/v1/sites/:id/kudos/:kudo_uid","auth_required":true,"purpose":"Delete one kudo by UID (full-access key required)."},{"method":"GET","path":"/sites/:id/leaderboard","full_path":"/api/v1/sites/:id/leaderboard","auth_required":true,"purpose":"All-time path leaderboard."},{"method":"GET","path":"/sites/:id/signals","full_path":"/api/v1/sites/:id/signals","auth_required":true,"purpose":"Owner-submitted context signals (subscription and insights required)."},{"method":"POST","path":"/sites/:id/signals","full_path":"/api/v1/sites/:id/signals","auth_required":true,"purpose":"Submit one context signal (full-access key, subscription, and insights required)."},{"method":"GET","path":"/sites/:id/uptime","full_path":"/api/v1/sites/:id/uptime","auth_required":true,"purpose":"Uptime + SSL/domain status (subscription required)."},{"method":"GET","path":"/sites/:id/user_journeys","full_path":"/api/v1/sites/:id/user_journeys","auth_required":true,"purpose":"Visitor journey analysis."}]}