defmodule Idverse do @moduledoc """ Elixir client for the ID Kit identity verification API. This library provides a convenient interface for interacting with the ID Kit API to manage identity verification transactions using OAuth2 authentication. ## Quick Start # Create a client client = Idverse.Client.new( base_url: "https://mycompany.api.au.idkit.com/v1", oauth2_url: "https://auth.idkit.com", api_key: "your_api_key" ) # Create a verification transaction {{:ok, transaction}, client} = Idverse.Client.Transactions.create(client, %{ name: "John Doe", flow_type: "NORMAL2", phone_region_code: "61", phone_number: "400000000", redirect_url_success: "https://example.com/success", redirect_url_exit: "https://example.com/exit" }) # Fetch transaction details {{:ok, details}, client} = Idverse.Client.Transactions.get(client, transaction["transaction_id"]) ## Modules - `Idverse.Client` - Main client configuration and OAuth2 token management - `Idverse.Client.Auth` - OAuth2 authentication handling - `Idverse.Client.Transactions` - Transaction operations - `Idverse.Client.Request` - Low-level HTTP request handling ## Configuration Configure via application environment or pass directly to `Idverse.Client.new/1`: config :idverse, base_url: "https://mycompany.api.au.idkit.com/v1", oauth2_url: "https://auth.idkit.com", api_key: "your_api_key" Environment variables for production (via runtime.exs): - `IDVERSE_BASE_URL` - `IDVERSE_OAUTH2_URL` - `IDVERSE_API_KEY` """ end