Daily Usage API response schema (email vs. user ID)

Where does the bug appear (feature/product)?

Somewhere else…

Describe the Bug

I’m seeing something odd with the Daily Usage API. According to the docs for Get daily usage data, each usage event includes an email?: string field.

A couple of questions:

  • Why return email rather than a stable user ID? Emails can change; an immutable ID would be more reliable for joins and avoids treating the identifier as PII.

  • In what cases is email optional/omitted? Understanding those scenarios could help us handle nulls correctly.

Is there a plan to add a user_id (and optionally keep email for display), or to switch to user_id as the canonical identifier? If so, do you have a timeline and a deprecation/migration path we should plan for?

Steps to Reproduce

Inspect the response schema of the following API:

curl -X POST https://api.cursor.com/teams/daily-usage-data \
  -u $CURSOR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{}' | jq

Expected Behavior

I would expect the response schema to have user_id per event, instead of email

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.5.11
VSCode Version: 1.99.3
Commit: 2f2737de9aa376933d975ae30290447c910fdf40

1 Like

Ran into same issue. Would be very helpful to have this information! Any chance someone from the Cursor team can support on this?

Hi @EKKOING @Louis_Deschuttere the team has checked already.

  • Email is in Teams the identifier for reporting as users are onboarded and logged in by email.

  • There are no cases where email will be empty.

  • At this time we do not have plans to add a user ID to the report as emails are used but you can file a post in Feature Requests for it.