From 5fd8f4022f23348b8d8f0915e8558b71b5880fbf Mon Sep 17 00:00:00 2001 From: Brendan Hy <171613822+hybrendan@users.noreply.github.com> Date: Mon, 26 Oct 2026 14:26:44 -0700 Subject: [PATCH 1/2] feat(billing): Add ResetSubscriptionTrial engagement protos Request and response messages for an EngagementService method that clears an organization's ended subscription trials so it can start another. Admins need this to re-enable trials for orgs on the billing platform. Refs REVENG-669 --- .../v1/endpoint_reset_subscription_trial.proto | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 proto/sentry_protos/billing/v1/services/engagement/v1/endpoint_reset_subscription_trial.proto diff --git a/proto/sentry_protos/billing/v1/services/engagement/v1/endpoint_reset_subscription_trial.proto b/proto/sentry_protos/billing/v1/services/engagement/v1/endpoint_reset_subscription_trial.proto new file mode 100644 index 00000000..a96b3134 --- /dev/null +++ b/proto/sentry_protos/billing/v1/services/engagement/v1/endpoint_reset_subscription_trial.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; + +package sentry_protos.billing.v1.services.engagement.v1; + +// Clears an organization's ended subscription trials so it can start another. +message ResetSubscriptionTrialRequest { + uint64 organization_id = 1; +} + +message ResetSubscriptionTrialResponse { + // Whether any ended subscription trial was cleared. + bool reset = 1; +} From fb7ac17536b7901a2d9d85704565176c12a2166e Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Mon, 26 Oct 2026 21:28:36 +0000 Subject: [PATCH 2/2] chore: Regenerate Rust bindings --- Cargo.lock | 2 +- ...entry_protos.billing.v1.services.engagement.v1.rs | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 09d2f89c..0af9158c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -717,7 +717,7 @@ checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "sentry_protos" -version = "0.90.0" +version = "0.91.0" dependencies = [ "prost", "prost-types", diff --git a/rust/src/sentry_protos.billing.v1.services.engagement.v1.rs b/rust/src/sentry_protos.billing.v1.services.engagement.v1.rs index 663093a3..416d13b6 100644 --- a/rust/src/sentry_protos.billing.v1.services.engagement.v1.rs +++ b/rust/src/sentry_protos.billing.v1.services.engagement.v1.rs @@ -778,6 +778,18 @@ pub struct RedeemPromoCodeResponse { #[prost(string, optional, tag = "6")] pub campaign: ::core::option::Option<::prost::alloc::string::String>, } +/// Clears an organization's ended subscription trials so it can start another. +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +pub struct ResetSubscriptionTrialRequest { + #[prost(uint64, tag = "1")] + pub organization_id: u64, +} +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +pub struct ResetSubscriptionTrialResponse { + /// Whether any ended subscription trial was cleared. + #[prost(bool, tag = "1")] + pub reset: bool, +} #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct RolloverMonetaryGrantsRequest { #[prost(uint64, tag = "1")]