---
title: "Create a billing meter event"
method: POST
path: "/v1/billing/meter_events"
---

# Create a billing meter event

`POST /v1/billing/meter_events`

## Request

- Base URL: `https://api.stripe.com`
- URL: `https://api.stripe.com/v1/billing/meter_events`
- Auth: one of:
  - HTTP basic
  - HTTP bearer

Creates a billing meter event.

## Response `200`

Successful response.

- BillingMeterEvent: Meter events represent actions that customers take in your system. You can use meter events to bill a customer based on their usage. Meter events are associated with billing meters, which define both the contents of the event’s payload and how to aggregate those events.
  - `created` integer, required: Time at which the object was created. Measured in seconds since the Unix epoch.
  - `event_name` string, required: The name of the meter event. Corresponds with the `event_name` field on a meter.
  - `identifier` string, required: A unique identifier for the event.
  - `livemode` boolean, required: If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
  - `object` 'billing.meter_event', required: String representing the object's type. Objects of the same type share the same value.
  - `payload` object, required: The payload of the event. This contains the fields corresponding to a meter's `customer_mapping.event_payload_key` (default is `stripe_customer_id`) and `value_settings.event_payload_key` (default is `value`). Read more about the [payload](https://docs.stripe.com/billing/subscriptions/usage-based/meters/configure#meter-configuration-attributes).
  - `timestamp` integer, required: The timestamp passed in when creating the event. Measured in seconds since the Unix epoch.

## Other responses

- `default`: Error response.

## Changes

> 19 revisions in range; 7 not diffed, 2 could not be searched.

- **2026-09-25** `8b5c2f03d4cd`: 11 info
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/bancontact/generated_sepa_debit_mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/card/mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/ideal/generated_sepa_debit_mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - added the optional property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/payment_method_details/anyOf[subschema #1: payment_method_details]/sofort/generated_sepa_debit_mandate/anyOf[subschema #2: Mandate]/payment_method_details/card/india` to the response with the `default` status
  - …7 more
  - …this revision’s changelog is incomplete
- …earlier changes not shown

[Operation history](https://skmtc.dev/stainless-api/apis/stripe-api/changes/v1/billing/meter_events/post.md)

---

[API](https://skmtc.dev/stainless-api/apis/stripe-api.md) · [All operations](https://skmtc.dev/stainless-api/apis/stripe-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stainless-api/apis/stripe-api/revisions/7cff4cc46d06?raw)
