update_plan_limits
Change the usage limits on an app's existing tiers (e.g. set ai_generations_daily to 200 on pro). WRITE, human-gated: a real write requires an elicitation-capable client; the human sees the per-tier before -> after diff and must click approve. Clients without elicitation are refused (dry_run still works anywhere). Tier-keyed, so one call can set a new limit key across every tier in a single atomic write. Use -1 for unlimited, matching the catalog convention. This writes ONLY the limits object: it never touches Stripe, prices, or plan names, so it cannot mint a price by accident. Changing prices or adding a tier is a different job: use create_app_kit or the dashboard. Set dry_run to preview the before/after without writing. After this succeeds, run bun run plans:sync in the app repo and commit the regenerated plans.json so the code and the catalog agree.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | merge | |
| app_id | Yes | ||
| dry_run | No | ||
| updates | Yes |