# Analytics for your software Managed MovePacket homepages record aggregate GET requests, server errors (5xx) and server response milliseconds. Probe, preview and HEAD requests are excluded. Includes bots and reloads; this is not unique visitors, browser loading speed or uptime monitoring. No IPs, visitor IDs, paths, referrers, athlete IDs or request content are stored in these aggregates. External sites and shared starter snapshots are outside this first scope. Open Analytics in your workspace. Before the first observation, the view shows no measurement, not a historical zero. History covers the current UTC day and preceding 29 days. Each app/metric/day accepts up to 100,000 observations, then stops; the UI marks the boundary as incomplete. Daily cleanup removes older aggregates. Analytics failure does not block a hosted page. This is operational measurement, not a billing ledger or guaranteed delivery stream. ## Your builder Use the existing app-scoped builder connection from a trusted server, with `Authorization: Bearer `. Never place it in browser code. - `GET /v1/software/{app_id}/analytics`: the app's daily aggregates and measurement start date. - `POST /v1/software/{app_id}/events`: body `{"event":"tool_used"}`. Also supports `report_opened` and `form_completed`. No additional fields are accepted. This records an application-server assertion, not proof of a human action. No automatic retries: duplicate submissions count again. The response is 202 when recorded, 429 at the daily series limit. Expired, revoked and cross-app connections are refused. A trusted application server must authenticate and validate the real action before emitting it. Sandboxed starter pages have no network access and cannot call these endpoints. Named-athlete engagement needs a separate deliberately designed application feature. In **Analytics**, choose **Explore feature prompts** for an analytics dashboard prompt. Basic analytics is part of Core's managed hosting; it does not activate paid building or capability credits.