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

# Person Verification Request Fields

> Submit individual data for Person Verification with three tiers of input fields.

# Person Verification Request Fields

Submit individual data for Person Verification. Zenoo accepts three tiers of data. More data improves screening accuracy and reduces false positives.

## Tier Examples

### Tier 1: Minimum

The bare minimum for a Person Verification. Returns basic screening results.

```json theme={null}
{
  "first_name": "Jane",
  "last_name": "Smith",
  "country": "GB"
}
```

### Tier 2: Standard

Adds date of birth, contact details, and address. Enables identity verification, phone/email checks, and accurate screening with far fewer false positives.

```json theme={null}
{
  "first_name": "Jane",
  "last_name": "Smith",
  "country": "GB",
  "date_of_birth": "1990-06-15",
  "email": "jane.smith@example.com",
  "phone": "+447700900123",
  "address": "42 Baker Street",
  "city": "London",
  "postal_code": "NW1 6XE"
}
```

### Tier 3: Full

Maximum data for highest accuracy. Adds nationality, document preference, and an external reference for idempotency.

```json theme={null}
{
  "first_name": "Jane",
  "last_name": "Smith",
  "country": "GB",
  "date_of_birth": "1990-06-15",
  "email": "jane.smith@example.com",
  "phone": "+447700900123",
  "address": "42 Baker Street",
  "city": "London",
  "postal_code": "NW1 6XE",
  "nationality": "GB",
  "document_type": "passport",
  "external_reference": "APP-2026-0123"
}
```

## Field Reference

| Field                | Type   | Required | Tier     | Description                                                                               |
| -------------------- | ------ | -------- | -------- | ----------------------------------------------------------------------------------------- |
| `first_name`         | string | Yes      | Minimum  | Individual's first name                                                                   |
| `last_name`          | string | Yes      | Minimum  | Individual's last name                                                                    |
| `country`            | string | Yes      | Minimum  | Country of residence. ISO 3166-1 alpha-2 code (e.g., `GB`, `US`)                          |
| `date_of_birth`      | string | No       | Standard | Date of birth. ISO 8601 format: `YYYY-MM-DD`. Strongly recommended for screening accuracy |
| `email`              | string | No       | Standard | Email address. Triggers email verification check                                          |
| `phone`              | string | No       | Standard | Phone number in E.164 format (e.g., `+447700900123`). Triggers phone verification         |
| `address`            | string | No       | Standard | Street address                                                                            |
| `city`               | string | No       | Standard | City                                                                                      |
| `postal_code`        | string | No       | Standard | Postal or ZIP code                                                                        |
| `nationality`        | string | No       | Full     | Nationality. ISO 3166-1 alpha-2 code                                                      |
| `document_type`      | string | No       | Full     | Preferred document type for verification. See accepted values below                       |
| `external_reference` | string | No       | Full     | Your internal reference ID. Enables idempotency and correlation                           |

## Document Types

When you specify `document_type`, the verification UI prompts the user with that document type first. The user can still select a different type if needed.

| Value             | Description                        |
| ----------------- | ---------------------------------- |
| `passport`        | National passport                  |
| `national_id`     | Government-issued national ID card |
| `driving_licence` | Driving licence with photo         |

If `document_type` is omitted, the user chooses from all available options.

## Formatting Notes

<Tip>
  * **Phone numbers.** Use E.164 format: a `+` followed by the country code and number with no spaces or dashes. Examples: `+447700900123` (UK), `+12025551234` (US), `+353861234567` (IE).
  * **Country codes.** Always use ISO 3166-1 alpha-2 codes: `GB` (not `UK`), `US`, `DE`, `FR`.
  * **Dates.** Use ISO 8601 format: `YYYY-MM-DD`. Example: `1990-06-15`.
</Tip>

<Note>**Date of birth impact.** For screening, `date_of_birth` reduces false positives by 80-95% on common names. If you only provide one optional field, make it the date of birth.</Note>

**External references.** If you submit the same `external_reference` twice, Zenoo returns the existing case tokens without creating a duplicate. Always use external references in production for idempotency.

## Sync vs Async

Person Verification supports two execution models:

**Async (user-facing).** Use the `/init` endpoint for flows that require document capture and biometric verification. The user interacts with a verification UI.

```bash theme={null}
POST /api/gateway/execute/{project_hash}/kyc/init
```

**Sync (server-side).** Use the `/api` endpoint with the `X-SYNC-TIMEOUT` header for database lookups, phone verification, and screening when you already have the user's data.

```bash theme={null}
POST /api/gateway/execute/{project_hash}/kyc/api
X-SYNC-TIMEOUT: 30000
```

See [Sync vs Async Flows](/guides/sync-vs-async) for details on choosing the right model.
