Back to Templates

Unkey + Elixir Mix Supervision

A simple example of using the Unkey Elixir SDK.

Elixir
Language
by glamboyosa

Unkey + Elixir Mix Supervision

A simple example of using the Unkey Elixir SDK.

Installation

The package can be installed from Hex PM by adding unkey_elixir_sdk to your list of dependencies in mix.exs:

Note: This project uses Elixir version 1.13.

def deps do
  [
    {:unkey_elixir_sdk, "~> 0.1.1"}
  ]
end

Start the GenServer

This example uses a supervision tree to start the SDK

The GenServer takes a map with two properties.

  • token: Your Unkey Access token used to make requests. You can create one here required
  • base_url: The base URL endpoint you will be hitting i.e. https://api.unkey.dev/v1/keys (optional).
 children = [
      {UnkeyElixirSdk, %{token: "yourunkeyapitoken"}}
    ]


# Now we start the supervisor with the children and a strategy
{:ok, pid} = Supervisor.start_link(children, strategy: :one_for_one)

# After started, we can query the supervisor for information
Supervisor.count_children(pid)
#=> %{active: 1, specs: 1, supervisors: 0, workers: 1}

NOTE In order to run this project either create a config/dev.secret.exs file with the key unkey_elixir_sdk_example and values specified in .env.example (token & apiId) OR directly use the environment variables in code (not recommended).

Run the project

You can run the project via the IEX console.

iex -S mix

and call the methods like so:

ElixirMixSupervisionExample.create_key_via_sdk

The full list of callable methods can be found here.