# `PolarExpress.Services.CustomerPortal.SubscriptionsService`
[🔗](https://github.com/jeffhuen/polar_express/blob/main/lib/polar_express/services/customer_portal/subscriptions_service.ex#L2)

Subscriptions

Subscriptions API operations.

# `cancel_subscription`

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

Cancel Subscription

Cancel a subscription of the authenticated customer.

See `PolarExpress.Params.CustomerPortal.SubscriptionsCancelSubscriptionParams` for parameter details.

# `get_subscription`

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

Get Subscription

Get a subscription for the authenticated customer.

**Scopes**: `customer_portal:read` `customer_portal:write`

See `PolarExpress.Params.CustomerPortal.SubscriptionsGetSubscriptionParams` for parameter details.

# `list_subscriptions`

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

List Subscriptions

List subscriptions of the authenticated customer.

**Scopes**: `customer_portal:read` `customer_portal:write`

See `PolarExpress.Params.CustomerPortal.SubscriptionsListSubscriptionsParams` for parameter details.

# `update_subscription`

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

Update Subscription

Update a subscription of the authenticated customer.

See `PolarExpress.Params.CustomerPortal.SubscriptionsUpdateSubscriptionParams` for parameter details.

---

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