Skip to main content
const { result, error } = await unprice.usage.consume({
  idempotencyKey: "idem_123",
  eventSlug: "completions",
  featureSlug: "ai-messages",
  customerId: "cus_1234567890",
  properties: {
    aiMessages: 1,
    inputTokens: 1840,
    outputTokens: 620,
    model: "gpt-4.1-mini"
  }
});

if (error) {
  console.error(error.message);
  return;
}

console.log(result);
{
  "allowed": true,
  "state": "processed"
}

Request

featureSlug
string
required
The specific feature or entitlement to consume against, for example ai-messages.
idempotencyKey
string
required
Logical key used to deduplicate the event.
eventSlug
string
required
The broad event kind configured in Unprice, for example completions.
properties
object
required
Event properties used by meters. For usage.consume, the targeted feature’s meter reads the relevant field from this object.

Response

Returns whether the event was processed or rejected for the targeted feature. Use this when the request path needs an enforcing decision before paid work runs.