Admin API: /teams/daily-usage-data omits removed members (still returned by filtered-usage-events)

Where does the bug appear (feature/product)?

Somewhere else…

Describe the Bug

On a Team plan (Bearer admin API key), POST /teams/daily-usage-data returns no rows for a team member who was active in a past period but has since been removed — even for date ranges when they were active. The same member is still returned by POST /teams/filtered-usage-events and appears in the Analytics dashboard for the same range. So former members’ historical activity is unrecoverable from daily-usage-data while it remains available everywhere else.

Steps to Reproduce

Same API key, same past month M. Pick a member (“User A”) who was active in M and was later removed from the team.

  1. POST /teams/filtered-usage-events {startDate, endDate} for M → User A is present (e.g. ~1,160 events), and every event is isHeadless:false (per docs: “made with a connected client” → IDE, not a background/headless agent).
  2. POST /teams/daily-usage-data {startDate, endDate} for the same M → User A is absent. Adding page + pageSize returns only current members (still no User A).
  3. GET /teams/members → User A has isRemoved: true.

Also: filtered-usage-events with email= returns “Email not valid”, and the dashboard per-user filter for User A shows “Could not load analytics data” — so removed members can’t be queried per-user anywhere, yet they appear in bulk responses.

Expected Behavior

Per the docs, paginated daily-usage-data returns “all team members with a membership during the requested date range.” User A had a membership during M (confirmed by filtered-usage-events and teams/members), so they should be included — consistent with filtered-usage-events and the Analytics dashboard, which both still show them. Removing a member should not erase their historical usage from daily-usage-data.

Operating System

Other

Version Information

N/A — server-side Cursor Admin API (api.cursor.com), Team plan. Not IDE/CLI-specific.

Additional Information

Not an IDE-vs-CLI artifact: User A’s events are 100% isHeadless:false (your docs: “made with a connected client”). Impact: former members’ historical adoption/productivity data is permanently lost from the primary usage endpoint, even though they were billed and still appear in filtered-usage-events and the Analytics dashboard.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Thanks for the report @Misha_Kav. This is a known issue, and I’ve linked your report to the internal bug report we have tracking this.