Lithic.Resources.AccountHolders (Lithic v1.0.0)

Copy Markdown View Source

Account holder KYC/KYB — create, verify, and manage individuals and businesses.

Individual (KYC)

{:ok, holder} = Lithic.AccountHolders.create(%{
  workflow: "KYC_BASIC",
  individual: %{
    first_name: "Jane",
    last_name: "Doe",
    dob: "1990-01-15",
    email: "jane@example.com",
    phone_number: "+12125551234",
    address: %{
      address1: "123 Main St",
      city: "New York",
      state: "NY",
      postal_code: "10001",
      country: "USA"
    },
    government_id: "123-45-6789"
  },
  tos_timestamp: "2024-01-01T00:00:00Z"
})

Business (KYB)

{:ok, holder} = Lithic.AccountHolders.create(%{
  workflow: "KYB_BASIC",
  business_entity: %{ ... },
  beneficial_owners: %{individuals: [...]},
  control_person: %{ ... },
  tos_timestamp: "2024-01-01T00:00:00Z"
})

Summary

Functions

create(params, opts \\ [])

@spec create(
  map(),
  keyword()
) :: {:ok, map()} | {:error, Lithic.Error.t()}

create_beneficial_owner(account_holder_token, params, opts \\ [])

@spec create_beneficial_owner(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}

Create or replace a beneficial owner individual or control person.

create_document(account_holder_token, params, opts \\ [])

@spec create_document(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}

Initiate an account holder document upload.

deactivate_beneficial_owner(account_holder_token, individual_token, opts \\ [])

@spec deactivate_beneficial_owner(String.t(), String.t(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}

Deactivate a beneficial owner.

get(account_holder_token, opts \\ [])

@spec get(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, Lithic.Error.t()}

get_document(account_holder_token, document_token, opts \\ [])

@spec get_document(String.t(), String.t(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}

Get an account holder document upload.

list(opts \\ [])

@spec list(keyword()) :: {:ok, Lithic.Page.t(map())} | {:error, Lithic.Error.t()}

list_documents(account_holder_token, opts \\ [])

@spec list_documents(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, Lithic.Error.t()}

List document uploads for an account holder.

simulate_document_review(document_token, params, opts \\ [])

@spec simulate_document_review(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}

Simulate an account holder document upload review (sandbox only).

simulate_enrollment_review(account_holder_token, params, opts \\ [])

@spec simulate_enrollment_review(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}

Simulate an account holder enrollment review (sandbox only).

stream(opts \\ [])

@spec stream(keyword()) :: Enumerable.t()

update(account_holder_token, params, opts \\ [])

@spec update(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}