Skip to main content

Overview

Integrating PhilSys face liveness requires a 2-step process.
  1. Capture face liveness with the PhilSys Liveness SDK V3
    Start the Philippine government eVerify liveness interface from your website. You provide only clientId and version.
  2. Call the IDmeta PhilSys Check API using the liveness result
    Pass the returned session_id as face_liveness_session_id in your PhilSys Check request.

Step 1: Capture PhilSys face liveness

Prerequisites

Before you integrate the SDK:
  • Ask IDmeta for your company Client ID. You use it as clientId.
  • Ask IDmeta to provision both required company plans:
    • PhilSys Check
    • PhilSys Check Tier 1
  • Run the integration in a supported browser with camera access.
  • Allow your website’s origin in IDmeta’s CORS configuration.
  • Update your Content Security Policy to allow the required IDmeta and government resources.

Add the SDK to your website

Load the SDK before you call IDmetaPhilsysLivenessV3():

Start face liveness

Your Client ID can be found under Profile > API Tokens in your account..

Liveness options

LIVENESS_CANCELLED means the user closed the capture. LIVENESS_FAILED means the government flow ran but could not complete normally. GOV_SERVER_ERROR represents a government SDK or infrastructure outage. NETWORK_ERROR means the IDmeta preflight could not be reached.

Step 2: Call the PhilSys Check API

After liveness is completed, pass result.session_id as face_liveness_session_id in the PhilSys Check API request:
Refer to the API pages for the complete request and response contracts:
  • PhilSys Check Tier 1
  • PhilSys Check
  • No bearer token is required.
  • The endpoint is limited to 300 requests per minute.
  • A valid Client ID alone does not grant access. The company must have both required PhilSys plans.
  • The endpoint checks access only. It does not reserve or consume credits.
  • The returned public key is used internally to start the government liveness SDK.
The following examples use placeholders. They do not contain a real Client ID, public key, token, identity record, or liveness session.

Expected Results from Face Liveness Capturing SDK

Completed liveness check
Input validation error
Invalid Trust Validation and Client ID combination
Capture session closed before completion
Unreachable government site

Troubleshooting

Confirm that clientId is the company UUID supplied by IDmeta. Remove leading or trailing spaces. A value that is not a UUID is rejected locally with BAD_REQUEST. An unknown UUID is rejected with INVALID_COMPANY.
Ask IDmeta to provision both scan_qr and philsys_check_tier_1 for your company. The SDK returns PLAN_ACCESS_DENIED if either plan is missing.
Ask the user to allow camera access for your site in the browser settings, then restart the capture. Confirm that the page uses HTTPS in production.
Treat GOV_SERVER_ERROR as a temporary government-service outage. Show a retry message and try again later.
CLIENT_TIMEOUT means the IDmeta preflight exceeded the SDK timeout. NETWORK_ERROR means the request could not reach IDmeta. Check the device connection, selected version, firewall, and IDmeta service availability.
Confirm that your exact website origin, including its scheme and port, is allowed by IDmeta. A CORS failure appears in the browser console and is normalized as NETWORK_ERROR when the preflight cannot complete.
Check the browser console for a blocked resource. Update the relevant script-src, connect-src, frame-src, or img-src directive for the SDK host, selected IDmeta API origin, and required government origins.
LIVENESS_CANCELLED is not a service outage. Let the user restart the capture when they are ready.

Next steps

PhilSys Check Tier 1

Review the Tier 1 request and response contract.

PhilSys Check

Review the PhilSys Check request and response contract.