Meter Events v2
Meter events are used to report customer usage of your product or service. Meter events are associated with billing meters, which define the shape of the event’s payload and how those events are aggregated. Meter events are processed asynchronously, so they may not be immediately reflected in aggregates or on upcoming invoices.
Learn more about calling API v2 endpoints.
Was this section helpful? Yes No
Create a Meter Event with synchronous validation
POST / v2 / billing / meter_events
The Meter Event object v2
Attributes
- object string, value is "v2.billing.meter_event" String representing the object’s type. Objects of the same type share the same value of the object field.
- created timestamp The creation time of this meter event.
- event _ name string The name of the meter event. Corresponds with the
event_namefield on a meter. - identifier string A unique identifier for the event. If not provided, one will be generated. We recommend using a globally unique identifier for this. We’ll enforce uniqueness within a rolling 24 hour period.
- livemode boolean Has the value
trueif the object exists in live mode or the valuefalseif the object exists in test mode. - payload map The payload of the event. This must contain the fields corresponding to a meter’s
customer_mapping.event_payload_key(default isstripe_customer_id) andvalue_settings.event_payload_key(default isvalue). Read more about the payload … - timestamp timestamp The time of the event. Must be within the past 35 calendar days or up to 5 minutes in the future. Defaults to current timestamp if not specified.
The Meter Event object
{ "object": "v2.billing.meter_event", "created": "2024-06-01T12:10:00.000Z", "livemode": false, "identifier": "idmp_12345678", "event_name": "ai_search_api", "timestamp": "2024-06-01T12:00:00.000Z", "payload": { "stripe_customer_id": "cus_12345678", "value": "25" }}
Create a Meter Event with synchronous validation v2
POST / v2 / billing / meter_events
Creates a meter event. Events are validated synchronously, but are processed asynchronously. Supports up to 1,000 events per second in livemode. For higher rate-limits, please use meter event streams instead.
Learn more about calling API v2 endpoints.
Parameters
- event _ name string Required The name of the meter event. Corresponds with the
event_namefield on a meter. - payload map Required The payload of the event. This must contain the fields corresponding to a meter’s
customer_mapping.event_payload_key(default isstripe_customer_id) andvalue_settings.event_payload_key(default isvalue). Read more about the payload. - identifier string A unique identifier for the event. If not provided, one will be generated. We recommend using a globally unique identifier for this. We’ll enforce uniqueness within a rolling 24 hour period.
- timestamp timestamp The time of the event. Must be within the past 35 calendar days or up to 5 minutes in the future. Defaults to current timestamp if not specified.
Returns
Returns a Meter Event object.
Error Codes
400 archived _ meter
The meter must be Active to submit events.
400 duplicate _ meter _ event
A meter event with a duplicate identifier has already been submitted.
400 no _ meter
A meter must exist to submit events.
400 payload _ invalid _ value
The value must be a positive integer.
400 payload _ no _ customer _ defined
The payload must have a reference to the customer.
400 payload _ no _ value _ defined
The payload must have a value.
409 too _ many _ concurrent _ requests
Cannot create multiple usage events for the same customer, meter concurrently.
Response
{ "object": "v2.billing.meter_event", "created": "2024-06-01T12:10:00.000Z", "livemode": false, "identifier": "idmp_12345678", "event_name": "ai_search_api", "timestamp": "2024-06-01T12:00:00.000Z", "payload": { "stripe_customer_id": "cus_12345678", "value": "25" }}
