diff --git a/src/sentry/api/endpoints/organization_events.py b/src/sentry/api/endpoints/organization_events.py index 1e707630373f91..6e4b32ea3109bf 100644 --- a/src/sentry/api/endpoints/organization_events.py +++ b/src/sentry/api/endpoints/organization_events.py @@ -126,6 +126,7 @@ class DiscoverDatasetSplitException(Exception): Referrer.API_PERFORMANCE_MOBILE_UI_METRICS_RIBBON.value, Referrer.API_PERFORMANCE_SPAN_SUMMARY_HEADER_DATA.value, Referrer.API_PERFORMANCE_SPAN_SUMMARY_TABLE.value, + Referrer.API_EXPLORE_SPANS_SAMPLES_TABLE, } API_TOKEN_REFERRER = Referrer.API_AUTH_TOKEN_EVENTS.value @@ -386,6 +387,11 @@ def get(self, request: Request, organization) -> Response: if request.auth: referrer = API_TOKEN_REFERRER elif referrer not in ALLOWED_EVENTS_REFERRERS: + with sentry_sdk.isolation_scope() as scope: + scope.set_tag("forbidden_referrer", referrer) + sentry_sdk.capture_message( + "Forbidden Referrer. If this is intentional, add it to `ALLOWED_EVENTS_REFERRERS`" + ) referrer = Referrer.API_ORGANIZATION_EVENTS.value def _data_fn(scoped_dataset, offset, limit, query) -> dict[str, Any]: diff --git a/src/sentry/snuba/referrer.py b/src/sentry/snuba/referrer.py index 6def8e7147ea0d..16413d970fbdbf 100644 --- a/src/sentry/snuba/referrer.py +++ b/src/sentry/snuba/referrer.py @@ -91,6 +91,7 @@ class Referrer(Enum): API_DISCOVER_TRANSACTIONS_LIST = "api.discover.transactions-list" API_EVENTS_MEASUREMENTS = "api.events.measurements" API_EVENTS_VITALS = "api.events.vitals" + API_EXPLORE_SPANS_SAMPLES_TABLE = "api.explore.spans-samples-table" API_GROUP_EVENTS_ERROR_DIRECT_HIT = "api.group-events.error.direct-hit" API_GROUP_EVENTS_ERROR = "api.group-events.error" API_GROUP_EVENTS_PERFORMANCE_DIRECT_HIT = "api.group-events.performance.direct-hit"