Pricing Plan
Display name for the pricing plan.Examples: “Free”, “Starter Monthly”, “Pro Annual”, etc.
A unique slug for the pricing plan which acts as a stable identifier across deployments.Should be lower-kebab-cased.
Should be stable across deployments.For all plans aside from
free, the slug should include the interval
as a suffix so pricing plans can be uniquely differentiated from each
other across billing intervals.Examples: free, starter-monthly, pro-annual, etc.Optional description of the pricing plan (UI-only).
Optional list of features of the pricing plan (UI-only; array of strings).
Optional number of days for a free trial period when a customer signs up for a
new subscription.Stripe docs
Optional rate limit to enforce for customers on this pricing plan.You can use this to limit the number of API requests that can be made by
a customer during a given interval.If not set, the pricing plan will inherit the default platform rate-limit
set by
defaultRateLimit in the Agentic project config.You can disable rate-limiting for this pricing plan by setting
rateLimit.enabled to false.See Rate Limits for more details.List of LineItems which are included in the PricingPlan.Note: Agentic currently supports a max of 20 LineItems per pricing plan.See PricingPlanLineItem for details.
Pricing Plan Line Item
Each Pricing Plan Line Item corresponds to one Stripe Product, one Stripe Price, and possibly one Stripe Meter if the line-item ismetered.
Slugs act as the primary key for LineItems. They should be lower-cased and
kebab-cased (“base”, “requests”, “image-transformations”).The
base slug is reserved for a plan’s default licensed line-item.The requests slug is reserved for charging using metered billing based
on the number of request made during a given billing interval.All other PricingPlanLineItem slugs are considered custom LineItems.Should be stable across deployments, so if a slug refers to one type of
product / line-item / metric in one deployment, it should refer to the same
product / line-item / metric in future deployments, even if they are
configured differently. If you are switching between a licensed and metered
line-item across deployments, they must use different slugs.Optional label for the line-item which will be displayed on customer bills.If unset, the line-item’s
slug will be used as the label.Stripe DocsThe type of usage to charge for. Either
licensed or metered.Stripe docs- Licensed Line Item
- Metered Line Item
Licensed line-items are used to charge for fixed-price services.
The type of usage to charge for.
licensed in this case.Stripe docsThe fixed amount to charge per billing interval.Specified in the smallest currency unit (e.g. cents for USD).So 100 = $1.00 USD, 1000 = $10.00 USD, etc.Stripe docs
Example Pricing Plans
- Default Free Plan
- Freemium + $4.99 Basic Plan
- Pay-As-You-Go
This example shows a free monthly pricing plan which is used by default for projects that don’t specify any pricing plans.
agentic.config.ts
Declarative Pricing
Agentic takes care of creating and managing all Stripe resources for you based
on your project’s simple declarative JSON-based pricing config.Every time you make a chance to your project’s pricing and create a new deployment, Agentic will lazily upsert any related Stripe resources (products, prices, meters, subscriptions, customers, etc).If a particular Stripe resource hasn’t changed between deployments, Agentic will continue using the existing Stripe resources, which is important for customers who may have signed up for subscriptions before you made a change to your pricing.