> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lendflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Socure KYC

## Socure KYC

Socure KYC compares an individual's submitted identity information with Socure records. It returns field-level identity correlations, reason codes, and Global Watchlist results that your team can review or use in Data Orchestration conditions.

The **Socure KYC** block is available for individual entities in the **KYC** category of Workflow Builder and Data Orchestration. Socure Fraud is a separate service in the **Fraud** category.

## Requirements

Socure KYC uses the primary business owner's information stored on the deal.

| Application field | Requirement | Notes |
| - | - | - |
| First name | Required | Primary owner's first name. |
| Last name | Required | Primary owner's last name. |
| Email | Required | Valid email address. |
| Country | Required | Valid country code from the primary owner's address. |
| Street address | Required | Primary owner's physical address. |
| City | Required | Primary owner's city. |
| State | Required | Valid state code. |
| ZIP code | Required | Primary owner's ZIP code. |
| Telephone | Required | Valid US phone number. |
| SSN or ITIN | Required | Valid SSN or ITIN. |
| Business legal name | Required | Legal name from the business profile. |
| Date of birth | Required | Must use `YYYY-MM-DD`. |
| Address line 2 | Optional | Additional address information. |
| IP address | Optional | Uses the prequalification IP address when available. |

The service cannot run when a required value is missing or invalid. Correct the application data before retrying.

## Configure Socure KYC in Data Orchestration

1. In the Lendflow Dashboard, open **Builders > Data Orchestration**.
2. Create or edit a template.
3. Add **Socure KYC** from the **KYC** service category.
4. Select the field-validation attributes that the template should evaluate.
5. Configure the conditions and connect each outcome to the next block.
6. Save and publish the template.

The block runs Socure's KYC and Watchlist Plus modules. Data Orchestration can evaluate field correlations as booleans; Global Watchlist matches and reason-code details remain available in the service response and Dashboard.

See [Data Orchestration](/product-guides/dashboard/data-orchestration/data-orchestration) for the complete template-building workflow.

## Run Socure KYC through the API

Data services run through a published Data Orchestration template. Your integration needs:

* An integration token with permission to access the application and run Data Orchestration.
* The application ID.
* A published template containing the **Socure KYC** block.
* The template ID.
* The applicable workflow `stage_id` when the template is assigned to a specific stage.

1. Call [Execute Data Orchestration](/api-reference/data-orchestration/execute-data-orchestration) for the application.
2. Include `template_id` and `application_id`. Include `stage_id` when applicable.
3. Confirm that the response contains `data.executed: true`.
4. Monitor the asynchronous run with [List Data Orchestration Logs](/api-reference/data-orchestration/list-data-orchestration-logs) and [Get Data Orchestration Log](/api-reference/data-orchestration/get-data-orchestration-log).
5. Retrieve the application's enrichment data after the service finishes to review the complete Socure response.

An accepted execution response means the run was scheduled. It does not mean Socure has finished processing.

## What the service returns

| Response object | Meaning |
| - | - |
| `kyc.fieldValidations` | Correlation scores for submitted name, address, phone, SSN or ITIN, and date-of-birth fields. |
| `kyc.reasonCodes` | Codes that explain additional identity information or risk conditions identified by Socure. |
| `globalWatchlist.matches` | Potential sanctions, enforcement, or watchlist matches. |
| `globalWatchlist.reasonCodes` | Codes that provide context for the watchlist result. |
| `referenceId` | Socure's identifier for the request. |

A representative response has this shape:

```json theme={"system"}
{
  "kyc": {
    "reasonCodes": ["I919"],
    "fieldValidations": {
      "dob": 0.99,
      "ssn": 0.99,
      "firstName": 0.99,
      "surName": 0.99,
      "streetAddress": 0.99
    }
  },
  "referenceId": "example-reference-id",
  "globalWatchlist": {
    "matches": [],
    "reasonCodes": ["I196"]
  }
}
```

For field validations, Socure commonly returns `0.99` for a correlated value and `0.01` for a value that did not correlate.

Reason codes add context and should not be treated as pass or fail values without your organization's underwriting criteria.

### Response attributes

| Attribute | Type | Meaning |
| - | - | - |
| `kyc` | Object | Contains Socure's KYC identity result. |
| `kyc.reasonCodes` | Array of strings | Codes that explain identity characteristics, missing inputs, or risk conditions. |
| `kyc.fieldValidations` | Object | Contains field-level correlation scores. |
| `fieldValidations.firstName` | Number | Correlation score for the submitted first name. |
| `fieldValidations.surName` | Number | Correlation score for the submitted last name. |
| `fieldValidations.streetAddress` | Number | Correlation score for the submitted street address. |
| `fieldValidations.city` | Number | Correlation score for the submitted city. |
| `fieldValidations.state` | Number | Correlation score for the submitted state. |
| `fieldValidations.zip` | Number | Correlation score for the submitted ZIP code. |
| `fieldValidations.mobileNumber` | Number | Correlation score for the submitted telephone number. |
| `fieldValidations.ssn` | Number | Correlation score for the submitted SSN or ITIN. |
| `fieldValidations.dob` | Number | Correlation score for the submitted date of birth. |
| `referenceId` | String | Socure's identifier for the request. |
| `globalWatchlist` | Object | Contains the Watchlist Plus result. |
| `globalWatchlist.matches` | Array | Potential watchlist matches. An empty array means no match was returned. |
| `globalWatchlist.reasonCodes` | Array of strings | Codes that explain the watchlist result. |

## FAQ

<AccordionGroup>
  <Accordion title="Why did Socure KYC fail before contacting the provider?">
    One or more required application fields failed validation. Confirm that the primary owner has complete identity and address information, including a valid email, US phone number, SSN or ITIN, and date of birth, and that the business has a legal name.
  </Accordion>

  <Accordion title="Does a 0.99 field validation mean the application should pass?">
    No. It means the submitted field correlated with Socure's matched identity. Your organization determines how that result affects underwriting.
  </Accordion>

  <Accordion title="What do the field-validation values mean?">
    Socure commonly returns `0.99` when a submitted field correlates with the matched identity and `0.01` when it does not. Review all returned fields and reason codes rather than treating one field as the overall KYC decision.
  </Accordion>

  <Accordion title="Does an empty Global Watchlist matches array mean the KYC request failed?">
    No. An empty `matches` array means Socure did not return a watchlist match for that request. Review the KYC field validations and service status separately.
  </Accordion>

  <Accordion title="Does data.executed true mean Socure has finished?">
    No. It means Data Orchestration accepted and scheduled the run. Monitor the orchestration log for completion.
  </Accordion>
</AccordionGroup>
