# `Stripe.Services.Entitlements.FeatureService`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/services/entitlements/feature_service.ex#L2)

Feature

A feature represents a monetizable ability or functionality in your system.
Features can be assigned to products, and when those products are purchased, Stripe will create an entitlement to the feature for the purchasing customer.

# `create`

```elixir
@spec create(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Create a feature

Creates a feature

# `list`

```elixir
@spec list(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

List all features

Retrieve a list of features

# `retrieve`

```elixir
@spec retrieve(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Retrieve a feature

Retrieves a feature

# `update`

```elixir
@spec update(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Updates a feature

Update a feature’s metadata or permanently deactivate it.

---

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