# `Twilio`
[🔗](https://github.com/jeffhuen/twilio_elixir/blob/main/lib/twilio.ex#L1)

Elixir SDK for the Twilio API.

## Quick Start

    # Configure in config/runtime.exs
    config :twilio_elixir,
      account_sid: System.fetch_env!("TWILIO_ACCOUNT_SID"),
      auth_token: System.fetch_env!("TWILIO_AUTH_TOKEN")

    # Create a client and make API calls
    client = Twilio.client()
    {:ok, message} = Twilio.Api.V2010.MessageService.create(client, %{
      "To" => "+15551234567",
      "From" => "+15559876543",
      "Body" => "Hello from Elixir!"
    })

# `client`

```elixir
@spec client() :: Twilio.Client.t()
```

Create a client from application config.

Reads `:account_sid` and `:auth_token` from `:twilio_elixir` app env.

# `client`

```elixir
@spec client(String.t(), String.t()) :: Twilio.Client.t()
```

Create a client with explicit credentials.

# `client`

```elixir
@spec client(String.t(), String.t(), keyword()) :: Twilio.Client.t()
```

Create a client with explicit credentials and options.

## Options

  * `:region` - Twilio region
  * `:edge` - Twilio edge location
  * `:max_retries` - Maximum retry attempts
  * `:account_sid` - Override account SID for subaccounts

# `version`

```elixir
@spec version() :: String.t()
```

Returns the SDK version.

---

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