Skip to main content

Pricing

Pricing configurations define how metered usage translates to charges. They connect meters to monetary values.

What is a Pricing?

A pricing configuration specifies:
  • Which meter to price
  • How much to charge per unit
  • Optional tiers for volume discounts or overage charges
{
  "name": "API Call Pricing",
  "meterId": "meter-uuid-1234",
  "unitAmount": "0.10",
  "currency": "USD"
}

Pricing Models

Flat Per-Unit

Charge a fixed amount for each unit of usage.
{
  "pricingModel": "TIERED",
  "meterId": "meter-uuid-1234",
  "unitAmount": "0.10"
}
  • 100 API calls = $10.00
  • 1,000 API calls = $100.00
  • 10,000 API calls = $1,000.00
Best for: Simple usage-based billing with predictable pricing.

Tiered Pricing

Charge different rates based on usage volume. Each tier can have:
  • unitAmount — Per-unit rate within the tier
  • flatAmount — Fixed charge for entering the tier
  • minQty / maxQty — Range of the tier
{
  "pricingModel": "TIERED",
  "meterId": "meter-uuid-1234",
  "pricingTiers": [
    { "minQty": "0", "maxQty": "1000", "unitAmount": "0.10" },
    { "minQty": "1001", "maxQty": "10000", "unitAmount": "0.08" },
    { "minQty": "10001", "unitAmount": "0.05" }
  ]
}
Example calculation for 5,000 API calls:
  • First 1,000 @ 0.10=0.10 = 100.00
  • Next 4,000 @ 0.08=0.08 = 320.00
  • Total: $420.00
Best for: Volume discounts to incentivize higher usage.

Package Pricing

Sell usage in pre-defined bundles.
{
  "pricingModel": "PACKAGE",
  "meterId": "meter-uuid-1234",
  "packageSize": "1000",
  "unitAmount": "50.00"
}
  • 1-1,000 calls = $50.00 (1 package)
  • 1,001-2,000 calls = $100.00 (2 packages)
  • 5,500 calls = $300.00 (6 packages)
Best for: Simplified pricing with clear unit economics.

BPS (Basis Points)

Charge a percentage of a transaction value.
{
  "pricingModel": "BPS",
  "meterId": "meter-uuid-5678",
  "bps": "250"
}
  • 250 BPS = 2.5%
  • 10,000transaction=10,000 transaction = 250 fee
Best for: Payment processing, marketplace commissions.

Pricing Fields

FieldRequiredDescription
nameYesHuman-readable name
meterIdYesID of the meter this prices
pricingModelYesTIERED, PACKAGE, or BPS
unitAmountConditionalPer-unit price (minimum $0.01)
currencyYesISO currency code (e.g., USD)
pricingTiersConditionalArray of tier definitions (for TIERED model)
packageSizeConditionalUnits per package (for PACKAGE model)
bpsConditionalBasis points (for BPS model)
Minimum Price: All unitAmount values must be at least $0.01 (1 cent).

Included Quantities

Give customers free usage before charges apply:
{
  "meterId": "meter-uuid-1234",
  "unitAmount": "0.10",
  "includedQuantity": "1000"
}
  • First 1,000 calls are free
  • Calls 1,001+ charged at $0.10 each
  • Customer uses 1,500 calls → charged for 500 = $50.00
Combine with tiered pricing for complex models:
{
  "pricingModel": "TIERED",
  "meterId": "meter-uuid-1234",
  "includedQuantity": "1000",
  "pricingTiers": [
    { "minQty": "0", "maxQty": "10000", "unitAmount": "0.10" },
    { "minQty": "10001", "unitAmount": "0.08" }
  ]
}

Dimensional Pricing

Charge different rates based on event attributes like region, tier, or outcome. Instead of one rate for all usage, define a rate card that maps dimension combinations to specific prices.
{
  "name": "AI Call Pricing",
  "meterId": "meter-uuid-9012",
  "unitAmount": "4.00",
  "rateCard": [
    {
      "dimensions": { "region": "US", "outcome": "resolved" },
      "unitAmount": "2.00"
    },
    {
      "dimensions": { "region": "US", "outcome": "escalated" },
      "unitAmount": "6.00"
    },
    {
      "dimensions": { "region": "EU", "outcome": "resolved" },
      "unitAmount": "2.50"
    }
  ]
}
Use cases:
  • Regional pricing (US, EU, APAC at different rates)
  • Tiered service levels (standard, priority, enterprise)
  • Outcome-based billing (resolved vs. escalated support calls)
See Dimensional Pricing for full documentation.

Pricing vs Plans

Pricing configurations are reusable building blocks. Plans bundle them together. A single meter can have multiple pricing configurations. Different plans select which pricing to use.

Design Patterns

Good Pricing Design

Begin with flat per-unit pricing. Add volume tiers when customers ask for discounts.
1,000 / 10,000 / 100,000 are easier to understand than 1,247 / 8,543 / 92,100.
A small included quantity reduces friction and lets customers try your product.

Common Patterns

PatternImplementation
FreemiumincludedQuantity: 100 with no base fee
Volume discountTiered pricing with decreasing unitAmount
Committed usePackage pricing with bulk discount
Platform feeBPS pricing on transaction value

Next Steps

How Usage-Based Billing Works

See how pricing fits into the full billing flow

Dimensional Pricing

Different rates by event attributes

Pricing API

API reference

Plans

Bundle pricing into plans

Meters

What pricing measures