Replace the whole list of on/off features a plan includes. Arguments: key (plan key) and features ([{ key, name? }], e.g. [{ "key": "analytics", "name": "Analytics" }]); a feature the list leaves out is removed from the plan, and [] clears it. To add or remove one feature and keep the rest use add_plan_feature / remove_plan_feature. A plan feature is an on/off feature the plan sells; gate it with a feature flag whose rule is `bridge:billing.entitlement.<featureKey>` eq true, so the flag follows the plan's feature list and never names plans. The pricing table and the upgrade dialog read the same list. Returns the full plan. Use list_plans to see every plan's features. Before writing app code that consumes this, call get_integration_guide with topic=billing and the framework the app uses.
ConnectorOAuth