---
title: "Deactivate a billing meter"
method: POST
path: "/v1/billing/meters/{id}/deactivate"
---

# Deactivate a billing meter

`POST /v1/billing/meters/{id}/deactivate`

When a meter is deactivated, no more meter events will be accepted for this meter. You can’t attach a deactivated meter to a price.

## Path parameters

- `id` string, required

## Response `200`

Successful response.

- BillingMeter — Meters specify how to aggregate meter events over a billing period. Meter events represent the actions that customers take in your system. Meters attach to prices and form the basis of the bill. Related guide: [Usage based billing](https://docs.stripe.com/billing/subscriptions/usage-based)
  - `created` integer, required — Time at which the object was created. Measured in seconds since the Unix epoch.
  - `customer_mapping` BillingMeterResourceCustomerMappingSettings, required
    - `event_payload_key` string, required — The key in the meter event payload to use for mapping the event to a customer.
    - `type` 'by_id', required — The method for mapping a meter event to a customer.
  - `default_aggregation` BillingMeterResourceAggregationSettings, required
    - `formula` 'count' | 'last' | 'sum', required — Specifies how events are aggregated.
  - `display_name` string, required — The meter's name.
  - `event_name` string, required — The name of the meter event to record usage for. Corresponds with the `event_name` field on meter events.
  - `event_time_window` 'day' | 'hour', nullable — The time window which meter events have been pre-aggregated for, if any.
  - `id` string, required — Unique identifier for the object.
  - `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', required — String representing the object's type. Objects of the same type share the same value.
  - `status` 'active' | 'inactive', required — The meter's status.
  - `status_transitions` BillingMeterResourceBillingMeterStatusTransitions, required
    - `deactivated_at` integer, nullable — The time the meter was deactivated, if any. Measured in seconds since Unix epoch.
  - `updated` integer, required — Time at which the object was last updated. Measured in seconds since the Unix epoch.
  - `value_settings` BillingMeterResourceBillingMeterValue, required
    - `event_payload_key` string, required — The key in the meter event payload to use as the value for this meter.

## Other responses

- `default` — Error response.

## Changes

> 51 revisions in range; 14 not diffed, 6 could not be searched.

- **2026-07-01** `e24a26de4188` — 3 breaking
  - removed the required property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/application_fee/anyOf[subschema #2: PlatformFee]/balance_transaction/anyOf[subschema #2: BalanceTransaction]/source/anyOf[subschema #6: Dispute]/payment_method_details/card/network` from the response with the `default` status
  - removed the required property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/balance_transaction/anyOf[subschema #2: BalanceTransaction]/source/anyOf[subschema #6: Dispute]/payment_method_details/card/network` from the response with the `default` status
  - removed the required property `error/payment_intent/latest_charge/anyOf[subschema #2: Charge]/failure_balance_transaction/anyOf[subschema #2: BalanceTransaction]/source/anyOf[subschema #6: Dispute]/payment_method_details/card/network` from the response with the `default` status
  - …this revision’s changelog is incomplete
- …earlier changes not shown

[Full history](https://skmtc.dev/stripe/apis/spec3/changes/v1/billing/meters/:id/deactivate/post.md)

---

[API](https://skmtc.dev/stripe/apis/spec3.md) · [All operations](https://skmtc.dev/stripe/apis/spec3/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/stripe/spec3/revisions/f0e0fc8fffbf/schema)
