---
title: "Request Verification"
method: POST
path: "/alpha/verifications"
tags: ["Verification"]
---

# Request Verification

`POST /alpha/verifications`

## Request a Verification object.

This endpoint requires `consent` and the identity information to verify.
Place `idType`, `idSubType`, and `idNumber` in `additionalData.ids`. The
Sandbox field `dateOfBirth` maps to `additionalData.dob`, and `gender` maps to
`additionalData.gender`.

### Supported Sandbox ID Types

| ID Type         | Available Test Fields                                                                            |
|-----------------|--------------------------------------------------------------------------------------------------|
| `tin_ph`        | `fullName`, `firstName`, `middleName`, `lastName`, `suffix`, `idNumber`, `gender`, `dateOfBirth` |
| `pagibig_ph`    | `fullName`, `idNumber`                                                                           |
| `prclicense_ph` | `fullName`, `idSubType`, `idNumber`, `dateOfBirth`                                               |
| `nbi_ph`        | `fullName`, `idNumber`                                                                           |

### Sandbox Test Values

| ID Type         | Parameter     | Value                            |
|-----------------|---------------|----------------------------------|
| `tin_ph`        | `idType`      | `tin_ph`                         |
| `tin_ph`        | `fullName`    | `George Cimafranca Palomero Jr.` |
| `tin_ph`        | `firstName`   | `George`                         |
| `tin_ph`        | `middleName`  | `Cimafranca`                     |
| `tin_ph`        | `lastName`    | `Palomero`                       |
| `tin_ph`        | `suffix`      | `Jr.`                            |
| `tin_ph`        | `idNumber`    | `123456789`                      |
| `tin_ph`        | `gender`      | `Male`                           |
| `tin_ph`        | `dateOfBirth` | `1970-08-24`                     |
| `pagibig_ph`    | `idType`      | `pagibig_ph`                     |
| `pagibig_ph`    | `fullName`    | `George Cimafranca Palomero Jr.` |
| `pagibig_ph`    | `idNumber`    | `123456789012`                   |
| `prclicense_ph` | `idType`      | `prclicense_ph`                  |
| `prclicense_ph` | `fullName`    | `George Cimafranca Palomero Jr.` |
| `prclicense_ph` | `idSubType`   | `CRIMINOLOGIST`                  |
| `prclicense_ph` | `idNumber`    | `0123456`                        |
| `prclicense_ph` | `dateOfBirth` | `1970-08-24`                     |
| `nbi_ph`        | `idType`      | `nbi_ph`                         |
| `nbi_ph`        | `fullName`    | `George Cimafranca Palomero Jr.` |
| `nbi_ph`        | `idNumber`    | `ABC123DEF4-56GHI789J`           |

Use one Sandbox record per Verification request. For inputs outside these test
values, the Sandbox may not return a matched verification result.

## Request body

- VerificationCreateRequest
  - `firstName` string — First Name
  - `middleName` string — Middle Name
  - `lastName` string — Last Name
  - `suffix` string — Suffix
  - `fullName` string — Full Name
  - `additionalData` object
    - `email` string — Email Address
    - `phone` string
    - `dob` string, date — The date, yyyy-MM-dd
    - `gender` string — Gender
    - `address` string — The address you want to verify
    - `employer` string — Employer name
    - `employmentStatus` 'EMPLOYED' | 'UNEMPLOYED' | 'SELF-EMPLOYED' | 'GIG' | 'RETIRED' — Employment status
    - `ids` VerificationId[]
      - `idType` 'tin_ph' | 'pagibig_ph' | 'prclicense_ph' | 'nbi_ph', required
      - `idSubType` string — If idType = prclicense_ph, subtype should be one of the PrcProfessionEnum value.
      - `idNumber` string, required — The ID number
  - `consent` Consent, required
    - `type` string — The consent flag key, the consent content should be sent to Smile previously
    - `version` string — The version of this consent
    - `consentedAt` string, date-time, required — Date and time
    - `consentedWith` string, required — The short sentences display on the consent page.
    - `consentTemplateId` string — The related consent template id, you can get it from Smile Developer Portal or /consentTemplates endpoint.

## Response `200`

OK

- VerificationCreateResponse
  - `code` 'OK' | 'CREATED' | 'INVALID_CREDENTIALS' | 'INVALID_PARAMETERS' | 'INVALID_TOKEN' | 'UNAUTHORIZED_ACCESS' | 'MISSING_RESOURCE' | 'REQUEST_LIMIT_EXCEEDED' | 'SERVER_ERROR' | 'UNSUPPORTED_METHOD' | 'SERVER_UNAVAILABLE' | 'TIME_LIMIT_EXCEEDED' — Request status code
  - `message` string — Message response to the request
  - `requestId` string — Unique ID that is added to the body of every response for easy traceability of the request in our logs.
  - `data` Verification
    - `id` string, required — The ID of the verification
    - `createdAt` string, date-time, required — Date and time
    - `status` 'PROCESSING' | 'COMPLETED' | 'ERROR', required — The status of the verification
    - `updatedAt` string, date-time, required — Date and time
    - `errorMessage` string — Error message when the status is error
    - `requestMeta` VerificationCreateRequest
      - `firstName` string — First Name
      - `middleName` string — Middle Name
      - `lastName` string — Last Name
      - `suffix` string — Suffix
      - `fullName` string — Full Name
      - `additionalData` object
        - `email` string — Email Address
        - `phone` string
        - `dob` string, date — The date, yyyy-MM-dd
        - `gender` string — Gender
        - `address` string — The address you want to verify
        - `employer` string — Employer name
        - `employmentStatus` 'EMPLOYED' | 'UNEMPLOYED' | 'SELF-EMPLOYED' | 'GIG' | 'RETIRED' — Employment status
        - `ids` VerificationId[]
          - `idType` 'tin_ph' | 'pagibig_ph' | 'prclicense_ph' | 'nbi_ph', required
          - `idSubType` string — If idType = prclicense_ph, subtype should be one of the PrcProfessionEnum value.
          - `idNumber` string, required — The ID number
      - `consent` Consent, required
        - `type` string — The consent flag key, the consent content should be sent to Smile previously
        - `version` string — The version of this consent
        - `consentedAt` string, date-time, required — Date and time
        - `consentedWith` string, required — The short sentences display on the consent page.
        - `consentTemplateId` string — The related consent template id, you can get it from Smile Developer Portal or /consentTemplates endpoint.
    - `result` VerificationResult
      - `finalMatches` boolean, required — The final match result
      - `names` object, required
        - `firstNameMatches` boolean — First name fuzzy match result. If request without firstName or Smile do not support to match this field, then the value is null.
        - `lastNameMatches` boolean — First name fuzzy match result. If request without lastName or Smile do not support to match this field, then the value is null.
        - `middleNameMatches` boolean — Middle name fuzzy match result. If request without middleName or Smile do not support to match this field, then the value is null.
        - `fullNameMatches` boolean — Full name fuzzy match result. If request without fullName or Smile do not support to match this field, then the value is null.
      - `additionalData` object
        - `ids` VerificationIdMatchResult[]
          - `idNumber` string, required
          - `idType` string, required
          - `idSubtype` string
          - `matches` boolean, required
        - `dobMatches` boolean — Dob full match result. If request without dob or Smile do not support to match this field, then the value is null.
        - `genderMatches` boolean — Gender full match result. If request without gender or Smile do not support to match this field, then the value is null.
        - `phoneMatches` VerificationContactMatchResult
          - `value` string — The value of the contact
          - `matches` boolean — Full match result. If request without this field or Smile do not support to match this field, then the value is null.
          - `disposable` boolean — Disposable email/phone. If request without this field or Smile do not support to match this field, then the value is null.
          - `deliverable` boolean — Deliverable email/phone. If request without this field or Smile do not support to match this field, then the value is null.
          - `active` boolean — Active email/phone. If request without this field or Smile do not support to match this field, then the value is null.
          - `provider` string — The provider of the contact
          - `freeProvider` boolean — If the provider is free provider.
        - `emailMatches` VerificationContactMatchResult
          - `value` string — The value of the contact
          - `matches` boolean — Full match result. If request without this field or Smile do not support to match this field, then the value is null.
          - `disposable` boolean — Disposable email/phone. If request without this field or Smile do not support to match this field, then the value is null.
          - `deliverable` boolean — Deliverable email/phone. If request without this field or Smile do not support to match this field, then the value is null.
          - `active` boolean — Active email/phone. If request without this field or Smile do not support to match this field, then the value is null.
          - `provider` string — The provider of the contact
          - `freeProvider` boolean — If the provider is free provider.
        - `addressMatches` boolean — Address fuzzy match result. If request without address or Smile do not support to match this field, then the value is null.

---

[API](https://skmtc.dev/smileapi/apis/smile-api.md) · [All operations](https://skmtc.dev/smileapi/apis/smile-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/smileapi/smile-api/revisions/a4930eb49f4d/schema)
