# `Stripe.Services.BillingPortal.ConfigurationService`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/services/billing_portal/configuration_service.ex#L2)

PortalConfiguration

A portal configuration describes the functionality and behavior you embed in a portal session. Related guide: [Configure the customer portal](https://stripe.com/customer-management/configure-portal).

# `create`

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

Create a portal configuration

Creates a configuration that describes the functionality and behavior of a PortalSession

# `list`

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

List portal configurations

Returns a list of configurations that describe the functionality of the customer portal.

# `retrieve`

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

Retrieve a portal configuration

Retrieves a configuration that describes the functionality of the customer portal.

# `update`

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

Update a portal configuration

Updates a configuration that describes the functionality of the customer portal.

---

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