> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# Meter already exists for this action and usage balance unit

Two meters can't share the same `action` and `usage_balance_unit_id`, even if one of them is archived.

> **Early access (beta): usage-based billing**

---

## Example

```json
{
  "error": {
    "type": "request_error",
    "code": "meter_action_usage_balance_unit_duplicate",
    "detail": "a meter already exists with action api_call and usage_balance_unit_id ubu_01kw8ta2j8x5t7q4v9m1kd6phz",
    "documentation_url": "https://developer.paddle.com/errors/meters/meter_action_usage_balance_unit_duplicate"
  },
  "meta": {
    "request_id": "00000000-0000-0000-0000-000000000000"
  }
}
```

## Details

| Attribute | Value |
| --- | --- |
| Status code | 400 |
| Error code | `meter_action_usage_balance_unit_duplicate` |
| Error message | a meter already exists with action %s and usage_balance_unit_id %s |

## Common causes

- An existing meter already has the same `action` and `usage_balance_unit_id` as the meter you're creating. If both meters existed, one usage event would draw down the same usage balance unit twice.
- The existing meter with the same `action` and `usage_balance_unit_id` is archived. Archived meters still count, so a new meter can't reuse their `action` and `usage_balance_unit_id`.
- You're updating a meter's `action` to one that another meter with the same `usage_balance_unit_id` already uses.

## Common solutions

- Use a different `action` for the meter.
- Use a different `usage_balance_unit_id` if the new meter should draw down a different usage balance unit. You can't change `usage_balance_unit_id` after you create a meter.
- To bring back an archived meter instead of creating a new one, update it and set `status` to `active`. To find archived meters, list meters with the `status` query parameter set to `archived`.
