From 0c06cb2cbca5e11a3a9656cfe03da08c323cc0fd Mon Sep 17 00:00:00 2001 From: "sentry[bot]" <39604003+sentry[bot]@users.noreply.github.com> Date: Fri, 24 Jul 2026 22:43:04 +0000 Subject: [PATCH] fix(api): Validate selected_columns in OrganizationEventsEndpoint for RPC datasets --- src/sentry/api/endpoints/organization_events.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/sentry/api/endpoints/organization_events.py b/src/sentry/api/endpoints/organization_events.py index ab18fa50bbb6..dea887534877 100644 --- a/src/sentry/api/endpoints/organization_events.py +++ b/src/sentry/api/endpoints/organization_events.py @@ -32,6 +32,7 @@ from sentry.apidocs.response_types import DetailResponse from sentry.apidocs.utils import inline_sentry_response_serializer from sentry.discover.models import DiscoverSavedQuery, DiscoverSavedQueryTypes +from sentry.exceptions import InvalidSearchQuery from sentry.models.dashboard_widget import DashboardWidget, DashboardWidgetTypes from sentry.models.organization import Organization from sentry.ratelimits.config import RateLimitConfig @@ -624,6 +625,9 @@ def get_rpc_config(): def flex_time_data_fn(limit, page_token): config = get_rpc_config() + if not self.get_field_list(organization, request): + raise InvalidSearchQuery("No columns selected") + return scoped_dataset.run_table_query( params=snuba_params, query_string=scoped_query or "", @@ -646,6 +650,9 @@ def data_fn(offset, limit): if scoped_dataset in RPC_DATASETS: config = get_rpc_config() + if not self.get_field_list(organization, request): + raise InvalidSearchQuery("No columns selected") + return scoped_dataset.run_table_query( params=snuba_params, query_string=scoped_query or "",