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, orACTIVE. manual_override: truemarks an account as verified when you've completed KYC via a third-party provider (requires Marqeta approval).
KYC Result Codes
| Code | Meaning |
|---|---|
SUCCESS | Fully verified |
FAILURE | Unable to verify |
PENDING | Under 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
@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.
Creates a new KYC verification. Raises Marqeta.Error on failure.
@spec get( String.t(), keyword() ) :: {:ok, map()} | {:error, Marqeta.Error.t()}
Retrieves a KYC result by token.
@spec list_by_business(String.t(), map(), keyword()) :: {:ok, map()} | {:error, Marqeta.Error.t()}
Lists KYC verifications for a business.
@spec list_by_user(String.t(), map(), keyword()) :: {:ok, map()} | {:error, Marqeta.Error.t()}
Lists KYC verifications for a user.
@spec perform( map(), keyword() ) :: {:ok, map()} | {:error, Marqeta.Error.t()}
Submits an account holder for KYC verification.