# `PolarExpress.Services.MetersService`
[🔗](https://github.com/jeffhuen/polar_express/blob/main/lib/polar_express/services/meters_service.ex#L2)

Meters

Meters API operations.

# `create_meter`

```elixir
@spec create_meter(PolarExpress.Client.t(), map(), keyword()) ::
  {:ok, PolarExpress.Schemas.Meter.t()} | {:error, PolarExpress.Error.t()}
```

Create Meter

Create a meter.

**Scopes**: `meters:write`

See `PolarExpress.Params.MetersCreateMeterParams` for parameter details.

# `get_meter`

```elixir
@spec get_meter(PolarExpress.Client.t(), String.t(), map(), keyword()) ::
  {:ok, PolarExpress.Schemas.Meter.t()} | {:error, PolarExpress.Error.t()}
```

Get Meter

Get a meter by ID.

**Scopes**: `meters:read` `meters:write`

See `PolarExpress.Params.MetersGetMeterParams` for parameter details.

# `get_meter_quantities`

```elixir
@spec get_meter_quantities(PolarExpress.Client.t(), String.t(), map(), keyword()) ::
  {:ok, PolarExpress.Schemas.MeterQuantities.t()}
  | {:error, PolarExpress.Error.t()}
```

Get Meter Quantities

Get quantities of a meter over a time period.

**Scopes**: `meters:read` `meters:write`

See `PolarExpress.Params.MetersGetMeterQuantitiesParams` for parameter details.

# `list_meters`

```elixir
@spec list_meters(PolarExpress.Client.t(), map(), keyword()) ::
  {:ok, PolarExpress.ListObject.t()} | {:error, PolarExpress.Error.t()}
```

List Meters

List meters.

**Scopes**: `meters:read` `meters:write`

See `PolarExpress.Params.MetersListMetersParams` for parameter details.

# `update_meter`

```elixir
@spec update_meter(PolarExpress.Client.t(), String.t(), map(), keyword()) ::
  {:ok, PolarExpress.Schemas.Meter.t()} | {:error, PolarExpress.Error.t()}
```

Update Meter

Update a meter.

**Scopes**: `meters:write`

See `PolarExpress.Params.MetersUpdateMeterParams` for parameter details.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
