Install with an AI agent
Hand this page to Claude Code, Cursor, or any coding agent. It installs the Sumidata SDK and then confirms data is flowing entirely through the Partner API — without ever opening the dashboard. The same recipe is served machine-readable at /llms.txt and /agents.md.
01Ready-to-paste prompt
Copy this into your coding agent.
You are installing the Sumidata analytics SDK on this web app and verifying it works — without opening any dashboard.
PROJECT_ID: YOUR_PROJECT_ID
API base: https://api.sumidata.io
Steps:
1. Add the SDK loader to the site's <head> on every page:
<script>window.Sumidata=window.Sumidata||{push:function(m,a){(this.q=this.q||[]).push([m,a])}};</script>
<script src="https://sdk.sumidata.io/loader.js" data-project-id="YOUR_PROJECT_ID" data-src="https://sdk.sumidata.io/sumidata.js" async></script>
2. Deploy the change.
3. Ask the human for a Partner API token (starts with "sumi_"), created for this project under Settings → API tokens.
4. Confirm data is flowing — poll until "status":"healthy":
curl -H "Authorization: Bearer <sumi_token>" https://api.sumidata.io/api/partner/health
5. Confirm events are landing:
curl -H "Authorization: Bearer <sumi_token>" "https://api.sumidata.io/api/partner/events?perPage=5"
6. Validate event metadata is clean (no violations):
curl -H "Authorization: Bearer <sumi_token>" https://api.sumidata.io/api/partner/schema/validate
Done when /api/partner/health reports "healthy" and /api/partner/events is non-empty.sumi_) under Settings → API tokens before running step 4.02Self-verification loop
The loop the agent runs to prove the install works.
Poll health until healthy
GET /api/partner/health returns healthy once events have arrived in the last 5 minutes, warning within the hour, else error.
Confirm events land
GET /api/partner/events?perPage=5 should return recent events. Empty means the snippet is not firing — recheck the <head> placement and deploy.
Validate metadata
GET /api/partner/schema/validate returns { valid, violations[] } — confirming your event _category/_surface/_feature values match the allowlist. See the Partner API docs.
