Products
Define and manage your billable API products, AI agents, MCP servers, and agentic APIs in the Aforo product catalog.
Products
The Product Catalog is the starting point for everything in Aforo. A product represents a monetizable API surface — something your customers purchase access to and consume over time.
Product Types
Aforo supports four generally available product types:
Product Lifecycle
Every product moves through a defined maturity stage:
EXPERIMENTAL → BETA → GA → DEPRECATED → RETIRED
Transitions are enforced — you cannot jump from GA directly to RETIRED. You must deprecate first. This prevents accidental retirement of active products.
Stage Definitions
- EXPERIMENTAL — Internal testing only. Not available to customers.
- BETA — Limited customer availability. New subscriptions allowed.
- GA — Fully launched. All customers can subscribe.
- DEPRECATED — No new subscriptions. Existing customers continue unaffected.
- RETIRED — Terminal state. All subscriptions must be migrated first.
Publish Status
Separate from maturity, each product also has a publish status controlling its visibility in your storefront:
Gateway Mappings
Products can be linked to external API gateways (Kong, Apigee, AWS API Gateway, Azure APIM, MuleSoft). Aforo maintains sync status for each mapping:
- SYNCED — Product config matches the gateway
- STALE — Gateway config has drifted from Aforo's record
- ERROR — Last sync attempt failed
- PENDING — Sync in progress
If a product shows STALE status, billing may continue but gateway-level enforcement (rate limiting, access control) may not reflect your latest pricing configuration. Use Restore to Gateway to re-sync.
Creating a Product
- Navigate to Catalog → Products
- Click + New Product
- Select the product type
- Enter a name, description, and audience (
INTERNAL,EXTERNAL, orPARTNER) - Optionally paste an OpenAPI spec URL for automatic documentation generation
- Click Save as Draft
Deletion Protection
Aforo prevents deletion of products that are actively monetized. The two-step deletion check returns one of three verdicts:
Cloning a Product
Use Clone to create a copy of an existing product for a new market segment or pricing experiment. Clones always start as EXPERIMENTAL / DRAFT with reset billing metadata.
Cloned product:
maturityStage → EXPERIMENTAL (never inherits GA/DEPRECATED)
publishStatus → DRAFT (never auto-published)
subscriptions → 0 (not copied)
gatewayMappings → none (not copied)