Lithic.Types.AccountHolder (Lithic v1.0.0)

Copy Markdown View Source

Type definitions for Lithic AccountHolder (KYC/KYB) objects.

Fields

  • "token" — unique identifier
  • "account_token" — associated account
  • "status""ACCEPTED", "REJECTED", "PENDING_RESUBMIT", "PENDING_DOCUMENT"
  • "status_reasons" — list of reason strings
  • "workflow""KYC_BASIC", "KYC_BYO", "KYB_BASIC", "KYB_BYO", "EXEMPT"
  • "individual" — individual details (KYC)
  • "business_entity" — business details (KYB)
  • "beneficial_owners" — beneficial owner individuals (KYB)
  • "control_person" — control person (KYB)
  • "created" — RFC 3339 timestamp

Summary

Types

address()

@type address() :: %{
  :address1 => String.t(),
  optional(:address2) => String.t(),
  city: String.t(),
  country: String.t(),
  postal_code: String.t(),
  state: String.t()
}

individual()

@type individual() :: %{
  :first_name => String.t(),
  :last_name => String.t(),
  :dob => String.t(),
  :email => String.t(),
  :phone_number => String.t(),
  :address => address(),
  optional(:government_id) => String.t()
}

kyb_params()

@type kyb_params() :: %{
  :workflow => String.t(),
  :business_entity => map(),
  :beneficial_owners => map(),
  :control_person => map(),
  :tos_timestamp => String.t(),
  optional(:external_id) => String.t()
}

kyc_params()

@type kyc_params() :: %{
  :workflow => String.t(),
  :individual => individual(),
  :tos_timestamp => String.t(),
  optional(:kyc_passed_timestamp) => String.t(),
  optional(:external_id) => String.t()
}

t()

@type t() :: %{required(String.t()) => term()}