# `Twilio.Conversations.V2.ControlPlane.ConfigurationService`
[🔗](https://github.com/jeffhuen/twilio_elixir/blob/main/lib/twilio/conversations/v2/control_plane/configuration_service.ex#L2)

Service for Configuration API operations.

Operations: `list`, `create`, `fetch`, `delete`

# `create`

```elixir
@spec create(Twilio.Client.t(), map(), keyword()) ::
  {:ok, Twilio.Resources.Conversations.V2.ControlPlane.Configuration.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Create a new Configuration

Operation: `CreateConfiguration` | Tags: ConversationsV2Configuration

## Required Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `conversationGroupingType` | string | The strategy Conversation Orchestrator uses to assign communications to conversations. Values: `GROUP_BY_PROFILE`, `GROUP_BY_PARTICIPANT_ADDRESSES`, `GROUP_BY_PARTICIPANT_ADDRESSES_AND_CHANNEL_TYPE` |
| `description` | string | Human-readable description for the configuration. |
| `displayName` | string | A human-readable name for the configuration. Limited to 32 characters. |
| `memoryStoreId` | string | The memory store ID that Conversation Orchestrator uses for profile resolution. |
## Optional Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `channelSettings` | object |  |
| `intelligenceConfigurationIds` | array | A list of Conversational Intelligence configuration IDs. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `memoryExtractionEnabled` | boolean | Whether memory extraction is enabled for conversations under this configuration. Defaults to false. |
| `statusCallbacks` | array | A list of webhook configurations. |

# `delete`

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

Delete a Configuration

Operation: `DeleteConfiguration` | Tags: ConversationsV2Configuration

# `fetch`

```elixir
@spec fetch(Twilio.Client.t(), String.t(), keyword()) ::
  {:ok, Twilio.Resources.Conversations.V2.ControlPlane.Configuration.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Retrieve a Configuration.

Operation: `FetchConfiguration` | Tags: ConversationsV2Configuration

# `list`

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

Retrieve a list of Configurations.

Operation: `ListConfiguration` | Tags: ConversationsV2Configuration

## Query Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `pageSize` | integer | Maximum number of items to return in a single response |
| `pageToken` | string | A URL-safe, base64-encoded token representing the page of results to return |
| `memoryStoreId` | string | Filter configurations by Memory Store ID |

# `stream`

```elixir
@spec stream(Twilio.Client.t(), map(), keyword()) :: Enumerable.t()
```

Stream: Retrieve a list of Configurations. (lazy auto-pagination).

---

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