# `DocuSign.ClientRegistry`
[🔗](https://github.com/neilberkman/docusign_elixir/blob/v3.4.0/lib/docusign/client_registry.ex#L1)

GenServer to store API clients and automatically refresh JWT access tokens.

The registry keeps track of API clients using the user ID (which is the API Username
in the user's profile on DocuSign).

# `oauth_error`

```elixir
@type oauth_error() :: OAuth2.Response.t() | OAuth2.Error.t()
```

# `user_id`

```elixir
@type user_id() :: String.t()
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `client`

```elixir
@spec client(user_id()) :: {:ok, OAuth2.Client.t()} | {:error, oauth_error()}
```

Get API Client

# `handle_info`

Async refreshes a token.

# `init`

# `start_link`

---

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