# `Twilio.Api.V2010.Call.UserDefinedMessageSubscriptionService`
[🔗](https://github.com/jeffhuen/twilio_elixir/blob/main/lib/twilio/api/v2010/call/user_defined_message_subscription_service.ex#L2)

Subscription for server-side application access to messages sent from the Voice SDK for an active Call.

Operations: `create`, `delete`

# `create`

```elixir
@spec create(Twilio.Client.t(), String.t(), map(), keyword()) ::
  {:ok, Twilio.Resources.Api.V2010.Call.UserDefinedMessageSubscription.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Subscribe to User Defined Messages for a given Call SID.

Operation: `CreateUserDefinedMessageSubscription` | Tags: Api20100401UserDefinedMessageSubscription

## Required Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `Callback` | string (uri) | The URL we should call using the `method` to send user defined events to your application. URLs must contain a valid hostname (underscores are not permitted). |
## Optional Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `IdempotencyKey` | string | A unique string value to identify API call. This should be a unique string value per API call and can be a randomly generated. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `Method` | string (http-method) | The HTTP method Twilio will use when requesting the above `Url`. Either `GET` or `POST`. Default is `POST`. Values: `GET`, `POST` |

# `delete`

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

Delete a specific User Defined Message Subscription.

Operation: `DeleteUserDefinedMessageSubscription` | Tags: Api20100401UserDefinedMessageSubscription

---

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