okta_api v0.1.14 Okta View Source

This library provides an Elixir API for accessing the Okta Developer APIs.

Currently implemented are:

The API access uses the Tesla library and relies on the caller passing in an Okta base URL and an API Key to create a client. The client is then passed into all API calls.

The API returns a 3 element tuple. If the API HTTP status code is less the 300 (ie. suceeded) it returns :ok, the HTTP body as a map and the full Tesla Env if you need to access more data about thre return. if the API HTTP status code is greater than 300. it returns :error, the HTTP body and the Telsa Env. If the API doesn't return at all it should return :error, a blank map and the error from Tesla.

client = Okta.client("https://dev-000000.okta.com", "thisismykeycreatedinokta")

profile = %{
  firstName: "test",
  lastName: "user",
}

case Okta.Users.create_user(client, profile) do
  {:ok, %{"id" => id, "status" => status}, _env} ->
    update_user(%{okta_id: id, okta_status: status})
  {:error, %{"errorSummary" => errorSummary}, _env} ->
    Logger.error(errorSummary)
end

Installation

If available in Hex, the package can be installed by adding okta to your list of dependencies in mix.exs:

def deps do
  [
    {:okta_api, "~> 0.1.14"},
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/okta.

Link to this section Summary

Link to this section Types

Link to this type

result()

View Source
result() :: {:ok, map() | String.t(), Tesla.Env.t()} | {:error, map(), any()}

Link to this section Functions

Link to this function

client(base_url, api_key)

View Source
client(String.t(), String.t()) :: client()
Link to this function

result(arg)

View Source
result({:ok, Tesla.Env.t()}) :: result()
result({:ok, Tesla.Env.t()}) :: result()
result({:error, any()}) :: result()