---
title: "Verify Customer"
method: POST
path: "/ivs/2.0/verifyCustomer"
tags: ["IVS"]
---

# Verify Customer

`POST /ivs/2.0/verifyCustomer`

Use the Verify Customer endpoint to perform identity verification for individual or business customers and their associated entities. This endpoint validates customer information, including personal details, addresses, and identification documents. For businesses, a single customer profile can support the verification of multiple associated entities (e.g., directors or beneficial owners).

## Headers

- `authorization` string
- `X-Request-Id` string

## Request body

- object
  - `providerId` string, required — The system-generated identifier for the IVS provider. Pattern: Up to 10 digits Example: `"9999"`
  - `customerType` 'Person' | 'Business', required — Specifies the category of customer undergoing verification. Pattern: Person or Business Example: `Person`
  - `customerId` string, required — ID generated by you or SoFi Tech Solutions for the top-level customer (person or business) undergoing verification. Use this to correlate this event with the specific customer record in your system. Pattern: Alphanumeric identifier Example: `789XYZ2025`
  - `eventTs` string, date-time, required — Timestamp for when the verification event occurred. Pattern: ISO 8601 date-time (YYYY-MM-DDTHH:MM:SS) Example: `2025-01-01T00:00:00`
  - `riskServiceId` string, required — System-generated identifier that specifies the IVS configuration strategy assigned during IVS setup. Pattern: EPRP or GCORE prefix followed by colon-separated identifiers, up to 50 characters Example: ``EPRP-test-1231231:1``
  - `prodId` string, required — The product ID of the account. Pattern: One or more digits Example: `9999`
  - `persons` object[] — A list of objects containing identity details for every person or entity associated with the verification. This object is **required** when `customerType: Person` and optional when `customerType: Business`. Pattern: List of objects
    - `isPrimary` boolean, required — Whether this person is the primary entity. Pattern: `true` or `false` Example: `true`
    - `entityId` string, required — ID generated by you or SoFi Tech Solutions for a specific entity within a customer. For a `Person` customer type, this maps 1-to-1 with the `customerId`. For a `Business` customer type, a single customer may have multiple entities. Use this to correlate this event with the specific entity record in your system. Pattern: Alphanumeric identifier Example: `789XYZ2025`
    - `ubo` boolean — Whether the person is an Ultimate Beneficial Owner (UBO). Pattern: `true` or `false` Example: `true`
    - `soleProprietor` boolean — Whether the person is a sole proprietor. Pattern: `true` or `false` Example: `false`
    - `percentShareholding` number — Percentage of shares held by the person. Pattern: 0–100 with decimal places Example: `25.5`
    - `role` 'APPLICANT' | 'DIRECTOR' | 'BENEFICIARY', required — Role of the person. Pattern: `APPLICANT`, `DIRECTOR`, or `BENEFICIARY` Example: `APPLICANT`
    - `firstName` string, required — Person's first name. Pattern: 1–40 characters: letters, spaces, hyphens, and single quotes Example: `John`
    - `middleName` string — Person's middle name. Pattern: 1–40 characters: letters, spaces, hyphens, and single quotes Example: `M`
    - `lastName` string, required — Person's last name. Pattern: 1–40 characters: letters, spaces, hyphens, and single quotes Example: `Doe`
    - `dateOfBirth` string, required — Person's birth date. Pattern: YYYY-MM-DD Example: `1990-01-01`
    - `residentialAddress` object, required — Person's residential address. Pattern: Nested object
      - `address1` string, required — Person's first address line. Cannot be a P.O. box. Pattern: 4–40 alphanumeric characters Example: `123 Main Street`
      - `address2` string — Person's second address line. Pattern: Up to 40 characters Example: `Apt 4B`
      - `city` string, required — Person's residential city. Pattern: Up to 30 characters: letters, spaces, hyphen, and period Example: `New York`
      - `state` string, required — Person's state or province. Pattern: 2 character state abbreviation Example: `NY`
      - `zipCode` string, required — Person's postal code (US ZIP code or local postal code). Pattern: 5–20 characters Example: `10001`
      - `countryCode` string, required — Person's three-letter country code. Pattern: 3 character country code Example: `USA`
    - `ssn` string, required — Person's social security number. Pattern: 9 digits Example: `123456789`
    - `nationalIdentificationType` string — The type of national identification. Pattern: Non-empty text Example: `passport`
    - `nationalIdentificationNumber` string — The person's national identification number. Pattern: 5–20 alphanumeric characters Example: `A12345678`
    - `countryOfIssuance` string — The country that issued the identification. Pattern: Up to 3 characters Example: `USA`
    - `phone` string — Person's phone number. Pattern: E.164 format Example: `+12125551234`
    - `email` string — Person's email address. Pattern: 3–63 characters Example: `john.doe@example.com`
    - `eddq1` integer — <<glossary:EDD>> question 1. Pattern: Integer Example: `1`
    - `edda1` string — EDD answer 1. Pattern: Non-empty text Example: `Answer text`
    - `eddq2` integer — EDD question 2. Pattern: Integer Example: `2`
    - `edda2` string — EDD answer 2. Pattern: Non-empty text Example: `Answer text`
    - `eddq3` integer — EDD question 3. Pattern: Integer Example: `3`
    - `edda3` string — <<glossary:EDD>> answer 3. Pattern: Non-empty text Example: `Answer text`
    - `eddq4` integer — EDD question 4. Pattern: Integer Example: `4`
    - `edda4` string — EDD answer 4. Pattern: Non-empty text Example: `Answer text`
    - `eddq5` integer — EDD question 5. Pattern: Integer Example: `5`
    - `edda5` string — EDD answer 5. Pattern: Non-empty text Example: `Answer text`
  - `business` object — An object containing the legal and registration details for the business entity. This object is **required** when `customerType: Business`. Pattern: Nested object
    - `isPrimary` boolean, required — Whether this business is the primary entity. Pattern: `true` or `false` Example: `true`
    - `entityId` string, required — ID generated by you or SoFi Tech Solutions for a specific entity within a customer. For a `Person` customer type, this maps 1-to-1 with the `customerId`. For a `Business` customer type, a single customer may have multiple entities. Use this to correlate this event with the specific entity record in your system. Pattern: Alphanumeric identifier Example: `789XYZ2025`
    - `businessLegalName` string, required — Legal name of the business. Pattern: 2–150 characters Example: `Acme Corporation`
    - `businessDBA` string — The Doing Business As (DBA) name. Pattern: 2–150 characters Example: `Acme Co`
    - `businessLegalStructure` string, required — Legal structure of the business. Pattern: Standard corporate abbreviation Example: `LLC`
    - `businessRegAddress` object, required — The registration address for the business. Pattern: Nested object
      - `businessRegAddress` string, required — First line of the business registration address. Cannot be a P.O. box. Pattern: 4–40 alphanumeric characters Example: `456 Business Blvd`
      - `businessRegAddress2` string — Second line of the business registration address. Pattern: Up to 40 characters Example: `Suite 200`
      - `businessRegCity` string, required — City of the business registration address. Pattern: Up to 30 characters: letters, spaces, hyphen, and period Example: `San Francisco`
      - `businessRegState` string, required — State of the business registration address. Pattern: 2 character state abbreviation Example: `CA`
      - `businessRegZip` string, required — ZIP code of the business registration address. Pattern: Up to 5 digits Example: `94105`
      - `businessRegCountryCode` string, required — Country code of the business registration address. Pattern: 3 character country code Example: `USA`
    - `companyMailingAddress` object, required — Business mailing address Pattern: Nested object
      - `businessMailingAddress` string, required — First line of the business mailing address. Cannot be a P.O. box. Pattern: 4–40 alphanumeric characters Example: `456 Business Blvd`
      - `businessMailingAddress2` string — Second line of the business mailing address. Pattern: Up to 40 characters Example: `Suite 200`
      - `businessMailingCity` string, required — City of the business mailing address. Pattern: Up to 30 characters: letters, spaces, hyphen, and period Example: `San Francisco`
      - `businessMailingState` string, required — State of the business mailing address. Pattern: 2 character state abbreviation Example: `CA`
      - `businessMailingZip` string, required — ZIP code of the business mailing address. Pattern: Up to 5 digits Example: `94105`
      - `businessMailingCountryCode` string, required — Country code of the business mailing address. Pattern: 3 character country code Example: `USA`
    - `businessDateOfIncorporation` string, required — Date the business was incorporated. Pattern: YYYY-MM-DD Example: `2010-01-01`
    - `businessTaxId` string, required — Business tax ID (EIN). Pattern: 9 digits Example: `123456789`
    - `businessSPDateOfBirth` string — Date of birth for the sole proprietor. Pattern: YYYY-MM-DD Example: `1980-01-01`
    - `thirdPartyOwnershipStructure` string — Third-party ownership structure. Pattern: Non-empty text Example: `Private`
    - `thirdPartyBusinessActivities` string — Third-party business activities. Pattern: Non-empty text Example: `Software development`
    - `thirdPartyBusinessTenure` string — Third-party business tenure. Pattern: Non-empty text Example: `5 years`
    - `businessWebsite` string — Website URL for the business. Pattern: URL Example: `https://www.acmecorp.com`
    - `businessParentLegalName` string — Legal name of the parent business. Pattern: 2–150 characters Example: `Acme Holdings Inc`
    - `businessParentRegState` string — State where the parent business is registered. Pattern: 2 character state abbreviation Example: `DE`
    - `businessParentRegCountry` string — Country where the parent business is registered. Pattern: 3 character country code Example: `USA`
    - `phone` string — Business phone number. Pattern: E.164 format Example: `+14155551234`
    - `email` string — Business email address. Pattern: 3–63 characters Example: `contact@acmecorp.com`
    - `eddq1` integer — <<glossary:EDD>> question 1 Pattern: Integer Example: `1`
    - `edda1` string — EDD answer 1 Pattern: Non-empty text Example: `Answer text`
    - `eddq2` integer — EDD question 2 Pattern: Integer Example: `2`
    - `edda2` string — EDD answer 2 Pattern: Non-empty text Example: `Answer text`
    - `eddq3` integer — EDD question 3 Pattern: Integer Example: `3`
    - `edda3` string — <<glossary:EDD>> answer 3 Pattern: Non-empty text Example: `Answer text`
    - `eddq4` integer — EDD question 4 Pattern: Integer Example: `4`
    - `edda4` string — EDD answer 4 Pattern: Non-empty text Example: `Answer text`
    - `eddq5` integer — EDD question 5 Pattern: Integer Example: `5`
    - `edda5` string — EDD answer 5 Pattern: Non-empty text Example: `Answer text`

## Response `200`

Successful Response

- object — Successful Response
  - `ivsProfileId` integer — The third-party provider supplies this identifier to reference the account status across other endpoints.
  - `customerId` string, required — ID generated by you or SoFi Tech Solutions for the customer undergoing verification. Use this to correlate this event with the specific entity record in your system.
  - `customerType` string, required — Specifies the category of customer undergoing verification: `Person` or `Business`.
  - `riskServiceId` string, required — System-generated identifier that specifies the IVS configuration strategy assigned during IVS setup.
  - `customerStatus` string — Overall status of the customer identity-verification process.
  - `customerDecision` string — Final decision for identity verification. The system returns this field only when the verification is complete.
  - `customerVerificationResult` 'Pass' | 'Fail' | 'Refer' | 'In Progress' — Derived identity verification result based on the `customer_status` and `customer_decision`.
  - `applications` object[] — List of identity verification applications for each entity.
    - `entityId` string — ID generated by you or SoFi Tech Solutions for the entity undergoing verification. Use this to correlate this event with the specific entity record in your system.
    - `verificationType` string — Specifies the type of identity verification being performed.
    - `startDateTime` string — Date-time when the system created this identity verification in <a href="ref:system-time" target="_blank">our system time</a> (GMT -0700).
    - `endDateTime` string — Date-time when the system ended this identity verification in <a href="ref:system-time" target="_blank">our system time</a> (GMT -0700).
    - `entityStatus` string — Current status of the entity identity verification: * `COMPLETE` * `REFERRED` * `AWAITING_RESPONSE` * `IN_PROGRESS`
    - `entityDecision` string — Final decision for entity verification. The system returns this field only when the identity verification is complete.
    - `rulesetOutcomes` object[] — A list of outcome objects for every ruleset executed during the identity verification journey.
      - `reference` string — Unique identifier for the specific collection of rules.
      - `score` integer — The sum of all individual `rule_score` values within this specific set.
      - `ruleOutcomes` object[] — A list of individual rule outcomes.
        - `ruleName` string — Display name of the rule.
        - `outcome` boolean — Returns `true` if the rule's specific rule condition passed.
        - `description` string — Explanation of what this specific rule was checking for and the result.
        - `score` integer — Incremental score applied by this rule to the cumulative ruleset result.
    - `documentVerificationId` string — The unique identifier for document verification. The system returns this field when awaiting a response.
    - `links` string[] — A collection of links associated with the journey for follow-up actions. The system returns this field when awaiting a response.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `429` — Too Many Requests
- `500` — Internal Service Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/galileo-ft/apis/program-api.md) · [All operations](https://skmtc.net/galileo-ft/apis/program-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/galileo-ft/program-api/revisions/bcd728f97a18/schema)
