Marqeta.KYCVerification (marqeta v1.0.0)

Copy Markdown View Source

Know Your Customer (KYC) identity verification for US account holders.

  • A user may be submitted for KYC at most twice.
  • Account holder status must be UNVERIFIED, LIMITED, or ACTIVE.
  • manual_override: true marks an account as verified when you've completed KYC via a third-party provider (requires Marqeta approval).

KYC Result Codes

CodeMeaning
SUCCESSFully verified
FAILUREUnable to verify
PENDINGUnder manual review

Examples

# Verify an individual
{:ok, result} = Marqeta.KYCVerification.perform(%{user_token: "user_01"})

# Verify a business
{:ok, result} = Marqeta.KYCVerification.perform(%{business_token: "biz_01"})

# Manual override (requires Marqeta written approval)
{:ok, _} = Marqeta.KYCVerification.perform(%{
  user_token: "user_01",
  manual_override: true,
  notes: "Verified via Jumio",
  reference_id: "jumio_ref_001"
})

Summary

Functions

Creates a new KYC verification.

Creates a new KYC verification. Raises Marqeta.Error on failure.

Retrieves a KYC result by token.

Lists KYC verifications for a business.

Lists KYC verifications for a user.

Submits an account holder for KYC verification.

Functions

create(params \\ %{}, opts \\ [])

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

Creates a new KYC verification.

Returns {:ok, map()} on success, {:error, %Marqeta.Error{}} on failure.

create!(params \\ %{}, opts \\ [])

@spec create!(
  map(),
  keyword()
) :: map()

Creates a new KYC verification. Raises Marqeta.Error on failure.

get(token, opts \\ [])

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

Retrieves a KYC result by token.

list_by_business(token, params \\ %{}, opts \\ [])

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

Lists KYC verifications for a business.

list_by_user(user_token, params \\ %{}, opts \\ [])

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

Lists KYC verifications for a user.

perform(params, opts \\ [])

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

Submits an account holder for KYC verification.