# `Codat`
[🔗](https://github.com/iamkanishka/codat.git/blob/v1.0.0/lib/codat.ex#L1)

Production-grade Elixir client for the Codat API.

## Quick Start

    client = Codat.client()

    {:ok, company} = Codat.Platform.Companies.create(client, %{name: "Acme Corp"})
    redirect_to(company["redirect"])

    {:ok, page} = Codat.Accounting.Invoices.list(client, company["id"])

## Configuration

    config :codat,
      api_key: System.get_env("CODAT_API_KEY"),
      http_timeout: 30_000,
      max_retries: 3

# `client`

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

Creates a `%Codat.Client{}` using application config and environment.

# `client`

```elixir
@spec client(keyword()) :: Codat.Client.t()
```

Creates a `%Codat.Client{}` with the given options.

# `config`

```elixir
@spec config() :: Codat.Config.t()
```

Returns the current application configuration.

# `version`

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

Returns the version of the `codat` hex package.

---

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