Skip to main content
All /me/* endpoints require a Privy JWT (the dashboard auth token). The frontend handles this automatically — these docs are for external tools talking to your own Voight account.

Authentication

Get the JWT from your browser’s dev tools while logged into the dashboard:
JWTs expire in ~1 hour. Long-running scripts should re-fetch periodically. For programmatic / long-lived access, use an API key on /v1/events for ingestion or build a separate backend that signs Privy JWTs server-side.

Identity + profile

Agents

Events

Query params (all optional):

Sessions

Traces

Errors

Clusters auto-reopen if a new event matches the fingerprint with timestamp > resolvedAt.

Alerts

API keys

Spend summary

Returns { total, by_agent: [...], by_model: [...], by_day: [...] }.

Test event

The synthetic agent has isPublic: false and a recognizable ownerWallet (voight:test:<userId>) so it won’t appear on the public Explorer.

Rate limits

Per-user, per-endpoint. Reasonable defaults — if you hit a 429, back off. If you need higher limits for a specific use case, reach out.

Notes

  • All /me/* endpoints filter by userId server-side. Cross-user reads are impossible from the API.
  • Soft-deleted agents are filtered out of all reads (deletedAt: null filter). The 9 read queries that touch Agent enforce this; the mutation queries (alert ack/snooze) intentionally keep the filter absent so you can dismiss alerts for deleted agents.
  • Endpoint behavior is documented in source at apps/api/src/routes/me.ts.

Next