Join usage-based billing early access (beta)
Usage-based billing is in early access (beta). Read how it works, then apply to join. We'll reach out if you meet the program requirements.
/meters/{meter_id}Updates a meter using its ID.
A new rate applies to usage that occurs after the update. Paddle doesn't recalculate usage that's already recorded. If you change action, usage events that you send with the old action no longer draw down usage balances for this meter.
You can't change usage_balance_unit_id or aggregation. Create a new meter instead.
Archived meters still draw down usage balances for usage events with a matching action.
If successful, your response includes a copy of the updated meter entity.
meter.write permission.Path parameters
^mtr_[a-z\d]{26}$Request body
api_call. If you change it, usage events that you send with the old action no longer draw down usage balances for this meter. More than one meter can have the same action, as long as each draws down a different usage balance unit.^[a-z][a-z0-9_]*$.*\S.*call or token. Shown alongside usage totals. Different from the usage balance unit's unit_name, which is the plural name of what customers hold a balance of."1" draws down one unit of the balance for each unit of usage, and "0.001" draws down one unit of the balance for every 1,000 units of usage. A decimal string greater than zero, with up to 9 decimal places.^([1-9][0-9]{0,34}(\.[0-9]{1,9})?|0\.(?:[1-9][0-9]{0,8}|0[1-9][0-9]{0,7}|00[1-9][0-9]{0,6}|000[1-9][0-9]{0,5}|0000[1-9][0-9]{0,4}|00000[1-9][0-9]{0,3}|000000[1-9][0-9]{0,2}|0000000[1-9][0-9]?|00000000[1-9]))${"customer_reference_id":"abcd1234"}activeEntity is active and can be used.archivedEntity is archived, so can't be used.
Response (200)
mtr_01kvqjfc6eb9kzk7s2wvz2aamqmtr_.^mtr_[a-z\d]{26}$ubu_01kw8ta2j8x5t7q4v9m1kd6phzubu_. Can't be changed after you create the meter.^ubu_[a-z\d]{26}$.*\S.*api_call. Paddle matches usage events to this meter using their action. More than one meter can have the same action, as long as each draws down a different usage balance unit. A usage event then draws down the customer's usage balance for each of them.^[a-z][a-z0-9_]*$sumsumAdds up thequantityof each usage event.
call or token. Shown alongside usage totals. Different from the usage balance unit's unit_name, which is the plural name of what customers hold a balance of."1" draws down one unit of the balance for each unit of usage, and "0.001" draws down one unit of the balance for every 1,000 units of usage. A decimal string greater than zero, with up to 9 decimal places.^([1-9][0-9]{0,34}(\.[0-9]{1,9})?|0\.(?:[1-9][0-9]{0,8}|0[1-9][0-9]{0,7}|00[1-9][0-9]{0,6}|000[1-9][0-9]{0,5}|0000[1-9][0-9]{0,4}|00000[1-9][0-9]{0,3}|000000[1-9][0-9]{0,2}|0000000[1-9][0-9]?|00000000[1-9]))$activeactiveEntity is active and can be used.archivedEntity is archived, so can't be used.
{"customer_reference_id":"abcd1234"}2024-10-12T07:20:50.52Z2024-10-13T07:20:50.52Zb15ec92e-8688-40d4-a04d-f44cbec93355{ "name": "Public API calls", "description": "Calls to the v2 public API"}{ "data": { "id": "mtr_01kvqjfc6eb9kzk7s2wvz2aamq", "usage_balance_unit_id": "ubu_01kw8ta2j8x5t7q4v9m1kd6phz", "name": "Public API calls", "action": "api_call", "description": "Calls to the v2 public API", "aggregation": "sum", "unit_name": "call", "rate": "1", "custom_data": null, "status": "active", "created_at": "2026-09-01T09:10:00Z", "updated_at": "2026-09-10T12:03:41Z" }, "meta": { "request_id": "6e0077bb-9f36-465c-a303-eaaf9d4d44aa" }}