---
title: "Verify a customer's identity"
method: POST
path: "/customers/{customer_id}/verify"
tags: ["KYC Verification (deprecated)"]
deprecated: true
---

# Verify a customer's identity

`POST /customers/{customer_id}/verify`

> **Deprecated.**

Initiate identity verification for a customer and run the specified identity checks.

Verifying a personal customer requires that the following fields already be set:
* `first_name`
* `last_name`
* `dob`
* `email`
* `phone_number`
* `legal_address`
* `ssn`

This endpoint will be removed in API v1. Use `POST /v0/verifications/verify` instead.

## Path parameters

- `customer_id` string, uuid, required

## Headers

- `Idempotency-Key` string

## Request body

- CustomerVerification
  - `customer_consent` boolean, required — Whether this customer has consented to a KYC check.
  - `customer_ip_address` string — IP address of the customer being verified.
  - `document_id` string — The ID of the uploaded government-issued identification document provided by the Socure SDK.
  - `verification_type` KycVerificationType[] — List of possible checks to run on a customer. This is a legacy field that is now ignored.

## Response `200`

Customer verification result.

- CustomerVerifyResponse
  - `kyc_status` 'ACCEPTED' | 'PENDING' | 'PROVIDER_FAILURE' | 'PROVISIONAL' | 'REJECTED' | 'REVIEW' | 'UNVERIFIED', required — Customer's KYC status
  - `verifications` CustomerVerificationResult[], required — Array of verification results.
    - `id` string, uuid — Unique ID for this verification result.
    - `issues` string[] — List of potential problems found. These are subject to change.
    - `raw_response` RawResponse
      - `provider` 'IDOLOGY' | 'SOCURE' — Name of the organization that provided this data.
      - `raw_data` string — Raw data from an external provider, as a JSON string.
    - `result` 'ACCEPTED' | 'PROVIDER_FAILURE' | 'PROVISIONAL' | 'REJECTED' | 'REVIEW', required — The determination of this verification.
    - `vendor_info` union — The information provided to Synctera from the vendor. Interpretation of this object is up to the client.
      - object
        - `content_type` 'text/xml', required — Describes the content-type encoding received from the vendor.
        - `details` VerificationVendorInfoDetail[] — Array of vendor specific information.
          - `code` string — Vendor specific code.
          - `description` string — Description of vendor specific code.
        - `vendor` string, required — Name of the vendor used.
        - `xml` string, required — Data representaion in XML.
      - object
        - `content_type` 'application/json', required — Describes the content-type encoding received from the vendor.
        - `details` VerificationVendorInfoDetail[] — Array of vendor specific information.
          - `code` string — Vendor specific code.
          - `description` string — Description of vendor specific code.
        - `json` object, required — Data representation in JSON.
        - `vendor` string, required — Name of the vendor used.
    - `verification_time` string, date-time, required — The date and time the verification was completed.
    - `verification_type` 'addressrisk' | 'alertlist' | 'decision' | 'documentverification' | 'emailrisk' | 'fraud' | 'kyc' | 'phonerisk' | 'social' | 'synthetic' | 'watchlistplus' | 'watchlistpremier' | 'watchliststandard', required — The type of check run on the customer.
  - `next_page_token` string — If returned, use the next_page_token to query for the next page of results. Not returned if there are no more rows.

## Other responses

- `400` — BadRequest
- `401` — Unauthorized
- `403` — Forbidden error
- `404` — Resource not found
- `500` — Internal server error

---

[API](https://skmtc.net/synctera/apis/synctera-api.md) · [All operations](https://skmtc.net/synctera/apis/synctera-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/synctera/synctera-api/versions/b0d812e6cdd0/schema)
