# Create a billing meter Creates a billing meter. ## Returns Returns a billing meter. ## Parameters - `default_aggregation` (object, required) The default settings to aggregate a meter’s events with. - `default_aggregation.formula` (enum, required) Specifies how events are aggregated. Allowed values are `count` to count the number of events, `sum` to sum each event’s value and `last` to take the last event’s value in the window. Possible enum values: - `count` Count the number of events. - `last` Take the last event’s value in the window. - `sum` Sum each event’s value. - `display_name` (string, required) The meter’s name. Not visible to the customer. The maximum length is 250 characters. - `event_name` (string, required) The name of the meter event to record usage for. Corresponds with the `event_name` field on meter events. The maximum length is 100 characters. - `customer_mapping` (object, optional) Fields that specify how to map a meter event to a customer. - `customer_mapping.event_payload_key` (string, required) The key in the meter event payload to use for mapping the event to a customer. The maximum length is 100 characters. - `customer_mapping.type` (enum, required) The method for mapping a meter event to a customer. Must be `by_id`. Possible enum values: - `by_id` Map a meter event to a customer by passing a customer ID in the event’s payload. - `event_time_window` (enum, optional) The time window which meter events have been pre-aggregated for, if any. Possible enum values: - `day` Events are pre-aggregated in daily buckets. - `hour` Events are pre-aggregated in hourly buckets. - `value_settings` (object, optional) Fields that specify how to calculate a meter event’s value. - `value_settings.event_payload_key` (string, required) The key in the usage event payload to use as the value for this meter. For example, if the event payload contains usage on a `bytes_used` field, then set the event_payload_key to “bytes_used”. The maximum length is 100 characters. ```curl curl https://api.stripe.com/v1/billing/meters \ -u "<>" \ -d "display_name=Search API Calls" \ -d event_name=ai_search_api \ -d "default_aggregation[formula]=sum" \ -d "value_settings[event_payload_key]=value" \ -d "customer_mapping[type]=by_id" \ -d "customer_mapping[event_payload_key]=stripe_customer_id" ``` ### Response ```json { "id": "mtr_test_61Q8nQMqIFK9fRQmr41CMAXJrFdZ5MnA", "object": "billing.meter", "created": 1704824589, "customer_mapping": { "type": "by_id", "event_payload_key": "stripe_customer_id" }, "default_aggregation": { "formula": "sum" }, "display_name": "Search API Calls", "event_name": "ai_search_api", "event_time_window": null, "livemode": false, "status": "active", "status_transitions": { "deactivated_at": null }, "updated": 1704824589, "value_settings": { "event_payload_key": "value" } } ```