Skip to main content
Features are reusable capabilities that can be attached to several plans with different limits and prices.

Feature types

The feature code is the identifier used by Feature Access, Usage, Seats, and Quota. Use lowercase letters, numbers, and underscores.

Current feature state

Use featureAccess.get to read whether the customer currently has access and the feature’s current counters:
The exact response is discriminated by feature type. It can include enabled state, usage, included units, remaining units, seats, or quota values. Use the list operation to retrieve the customer’s complete current feature state:
Feature Access lists return the standard { object, data, hasMore, nextCursor } envelope.

Prospective consumption

Use usage.check before an action when you need to know whether a specific quantity can be consumed and what it would cost:
The response is discriminated by the plan’s consumption model:
  • metered reports current, remaining, included, and overage pricing.
  • credits reports the estimated credit cost and available pools.
  • balance reports the estimated monetary amount and current balance.
Do not use Feature Access as a substitute for this prospective check. Feature Access describes current state; Usage Check evaluates the proposed consumption.

Track the consumption

Once the action succeeds, record it through Usage:
Use the caller-owned eventId for the business event when retries must deduplicate it. Request idempotency is a separate transport option that maps to Idempotency-Key.