TreasuryPrime.PersonApplication (TreasuryPrime v1.0.0)

Copy Markdown View Source

Captures identifying/KYC information for an individual as part of opening an account — either the primary applicant on a personal account, or an owner/signer/beneficial-owner on a business account. Once the associated TreasuryPrime.AccountApplication (and any required TreasuryPrime.Kyc evaluation) is approved, person_id is populated with the resulting TreasuryPrime.Person.

Creating one

{:ok, person_app} =
  TreasuryPrime.PersonApplication.create(client, %{
    first_name: "George",
    last_name: "Washington",
    email_address: "[email protected]",
    phone_number: "2025551111",
    date_of_birth: "1732-02-22",
    citizenship: "US",
    tin: "111222444",
    physical_address: %{
      street_line_1: "1600 Pennsylvania Ave",
      city: "Washington",
      state: "DC",
      postal_code: "20500"
    }
  })

Summary

Functions

Creates a person application. Required: first_name, last_name, email_address, phone_number, date_of_birth, physical_address, plus an identifying number — tin for US persons, or identification_number + identification_number_type for non-US persons without a TIN.

Fetches a single person application by id.

Lists person applications.

Types

t()

@type t() :: %TreasuryPrime.PersonApplication{
  bankdata: map() | nil,
  citizenship: String.t() | nil,
  created_at: String.t() | nil,
  date_of_birth: String.t() | nil,
  document_ids: [String.t()] | nil,
  email_address: String.t() | nil,
  first_name: String.t() | nil,
  gov_id: String.t() | nil,
  id: String.t() | nil,
  identification_number: String.t() | nil,
  identification_number_type: String.t() | nil,
  last_name: String.t() | nil,
  mailing_address: map() | nil,
  middle_name: String.t() | nil,
  occupation: String.t() | nil,
  person_id: String.t() | nil,
  phone_number: String.t() | nil,
  physical_address: map() | nil,
  secondary_email_address: String.t() | nil,
  status: String.t() | nil,
  tin: String.t() | nil,
  updated_at: String.t() | nil,
  user_id: String.t() | nil,
  userdata: map() | nil
}

Functions

create(client, params, opts \\ [])

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

Creates a person application. Required: first_name, last_name, email_address, phone_number, date_of_birth, physical_address, plus an identifying number — tin for US persons, or identification_number + identification_number_type for non-US persons without a TIN.

create!(client, params, opts \\ [])

@spec create!(TreasuryPrime.Client.t(), map(), keyword()) :: t()

get(client, id)

@spec get(TreasuryPrime.Client.t(), String.t()) ::
  {:ok, t()} | {:error, TreasuryPrime.Error.t()}

Fetches a single person application by id.

get!(client, id)

@spec get!(TreasuryPrime.Client.t(), String.t()) :: t()

list(client, params \\ %{})

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

Lists person applications.

Filterable params

email_address, status, tin.

list!(client, params \\ %{})