OpenTelemetry export: how do we resolve the numeric cursor.user.id to an email/name?

We’re thinking of switching to the Enterprise Plan for the new OpenTelemetry export and hit an identity-resolution gap I’d love guidance on.

Per the Wire Reference, every metric/log carries a cursor.user.id resource attribute- a numeric, “opaque team-scoped user id.” I dont know if the export carries email/login/name, and I don’t see any mechanism to add custom resource attributes to it.

To attach a human identity to that numeric id, we can join against an Admin/Org API- but the APIs disagree on id format:GET /teams/members and POST /teams/spend return a “user_…” -prefixed string id.

So the numeric id in the OTel export wouldn’t resolve to users.

Questions:

  1. What is the supported way to resolve the OTel numeric cursor.user.id to an email/name?
  2. Since the export runs server-side, does Cursor pick up a client-supplied resource attribute (e.g. OTEL_RESOURCE_ATTRIBUTES set in a developer’s shell) into the export?
  3. Is there any admin/managed mechanism to add a custom resource attribute (e.g. the developer’s email) to the exported telemetry?
  4. Any plans to emit an email or user_… id attribute on the OTel export directly?

Hey @Noaa_Kurlender, thanks for the detailed questions!

  1. Use the Organization Admin API’s members endpoint (GET /organizations/members) - it returns each member’s numeric user id (the same value the export emits as cursor.user.id) plus their email and name, so you can build the mapping from there: Organization API | Cursor Docs

The /teams/members and /teams/spend endpoints return an encoded user_… form of that same id, which is why they don’t line up with the export. Note this needs an Organization, which is part of Enterprise - your account team can set one up (single-team setups included) during onboarding.

  1. No - the export is generated entirely server-side, so a developer’s local OTEL_RESOURCE_ATTRIBUTES isn’t picked up.

  2. Not today - destination config is just the endpoint URL, auth headers, and event-family toggles. To add identity, point the export at your own OpenTelemetry Export | Cursor Docs and enrich there (join cursor.user.id → email via a periodic pull from the members endpoint).

  3. No committed plans for that right now - the numeric id plus the members endpoint is the intended path today. Happy to pass the request along.