VerifEye Service API

Overview

The VerifEye Service API provides endpoints to manage verification configurations and to create and validate signed query strings.

The VerifEye Service API enables you to:

  • Create, retrieve, list, update and delete verification configurations
  • Configure verification settings for liveness, age, gender, and face recognition
  • Create signed query strings for secure API requests
  • Validate signed query strings to ensure request integrity
  • Manage redirect URLs and result parameters
  • Control session-level configuration overrides
  • Configure webhooks to receive server-side notifications when verification sessions complete
  • Retrieve full session results server-side via the Get Session Result endpoint

Base URLs

Region Base URL
EU https://verifeye-service-api-api-eu.realeyes.ai/v1/
US https://verifeye-service-api-api-us.realeyes.ai/v1/

API Endpoints

Create Signature

Creates a signed query string based on the query string provided in the request body.

Endpoint: POST /v1/signature/create

Authentication: API Key or Bearer Token

Request Body:

{
  "queryString": "key1=value1&key2=value2...keyN=valueN"
}

Request Parameters:

Parameter Type Required Description
queryString string Yes The full query string to be signed

Response Example:

{
  "signature": "THE_SIGNATURE",
  "signedQueryString": "key1=value1&key2=value2...keyN=valueN&reSignature=THE_SIGNATURE"
}

Response Fields:

Name Type Description
signature string The signature for the query string
signedQueryString string The signed query string that includes the signature

Example Request:

curl -X POST "https://verifeye-service-api-eu.realeyes.ai/v1/signature/create" \
  -H "Authorization: ApiKey API-KEY-FROM-DEV-CONSOLE" \
  -H "Content-Type: application/json" \
  -d '{
    "queryString": "key1=value1&key2=value2...keyN=valueN"
  }'

Response Codes:

  • 200 - Success
  • 400 - Bad Request - Invalid parameters
  • 401 - Unauthorized - Missing or invalid authentication

Validate Signature

Validates the signature of the request using the query string and the signature inside the query string.

Endpoint: POST /v1/signature/validate

Authentication: API Key or Bearer Token

Request Body:

{
  "queryString": "key1=value1&key2=value2...keyN=valueN&reSignature=THE_SIGNATURE"
}

Request Parameters:

Parameter Type Required Description
queryString string Yes The full query string of the request to validate

Response Example:

{
  "result": "Valid"
}

Response Fields:

Name Type Description
result string The result of the signature validation (Valid or Invalid)

Example Request:

curl -X POST "https://verifeye-service-api-eu.realeyes.ai/v1/signature/validate" \
  -H "Authorization: ApiKey API-KEY-FROM-DEV-CONSOLE" \
  -H "Content-Type: application/json" \
  -d '{
    "queryString": "key1=value1&key2=value2...keyN=valueN&reSignature=THE_SIGNATURE"
  }'

Response Codes:

  • 200 - Success
  • 400 - Bad Request - Invalid parameters
  • 401 - Unauthorized - Missing or invalid authentication

Get Verification

Returns a verification configuration by verificationId.

Endpoint: GET /v1/verification/get

Authentication: API Key or Bearer Token

Query Parameters:

Parameter Type Required Description
verificationId string Yes The ID of the verification configuration to retrieve

Response Example:

{
  "verification": {
    "created": "2025-11-07T00:00:00Z",
    "lastModified": "2025-11-07T00:00:00Z",
    "verificationId": "39e00c96-6431-4b2e-8707-2fb80e561fbf",
    "name": "Test Verification",
    "verificationConfig": {
      "verifierConfigs": {
        "liveness": {
          "type": "Verification",
          "challengeType": "Balanced"
        },
        "age": {
          "type": "CalculationOnly"
        },
        "faceRecognition": {
          "type": "DuplicateVerification"
        },
        "gender": {
          "type": "CalculationOnly"
        }
      },
      "redirectConfig": {
        "passedUrl": "https://example.com?result=passed",
        "failedUrl": "https://example.com?result=failed"
      },
      "resultParameterConfig": {
        "includeSignature": true,
        "includeSessionId": true,
        "includeFaceId": true,
        "includeAge": true,
        "includeGender": true,
        "includeVerificationResult": true,
        "includeCustomInputParameters": true,
        "includeLivenessCheckResult": true,
        "includeAgeVerificationResult": true,
        "includeGenderVerificationResult": false,
        "includeFaceRecognitionResult": true,
        "includeCorrelationId": true,
        "includeTotalFaceCount": true,
        "includeFailedReason": true
      },
      "securityConfig": {
        "forceSignedInput": true
      },
      "sessionOverrideConfig": {
        "allowVerifierOverrides": true,
        "allowResultParameterOverrides": false,
        "allowRedirectOverrides": false
      },
      "webhookConfig": {
        "eventCallbackUrl": "https://your-server.example.com/webhook"
      }
    }
  }
}

Response Fields:

Field Path Type Description
verification object Detailed verification configuration model including metadata and nested configuration sections
verification.verificationId string Unique identifier of the verification configuration
verification.name string Human readable name of the verification configuration
verification.created string UTC timestamp when the configuration was created (ISO 8601 format)
verification.lastModified string UTC timestamp of the last modification (ISO 8601 format)
verification.verificationConfig object Root container for all adjustable verification configuration sections
verification.verificationConfig.verifierConfigs object Collection of verifier specific configuration sections
verification.verificationConfig.verifierConfigs.liveness object Liveness verifier configuration model
verification.verificationConfig.verifierConfigs.liveness.type string Supported liveness verification modes (Disabled, Verification)
verification.verificationConfig.verifierConfigs.liveness.challengeType string Supported liveness verification challenges (Balanced, Advanced)
verification.verificationConfig.verifierConfigs.age object Age verifier configuration model
verification.verificationConfig.verifierConfigs.age.type string Supported age verification modes (Disabled, CalculationOnly, ThresholdVerification, RangeVerification)
verification.verificationConfig.verifierConfigs.age.thresholdConfig object Configuration for threshold based age verification
verification.verificationConfig.verifierConfigs.age.thresholdConfig.threshold integer Age threshold value used for verification
verification.verificationConfig.verifierConfigs.age.thresholdConfig.direction string Direction used when evaluating age threshold comparisons (Above, Below)
verification.verificationConfig.verifierConfigs.age.rangeConfig object Configuration for range based age verification
verification.verificationConfig.verifierConfigs.age.rangeConfig.minimum integer Minimum allowed age
verification.verificationConfig.verifierConfigs.age.rangeConfig.maximum integer Maximum allowed age
verification.verificationConfig.verifierConfigs.faceRecognition object Face recognition verifier configuration model
verification.verificationConfig.verifierConfigs.faceRecognition.type string Supported face recognition verification modes (Disabled, CalculationOnly, DuplicateVerification, UniqueMatchVerification, MatchVerification)
verification.verificationConfig.verifierConfigs.gender object Gender verifier configuration model
verification.verificationConfig.verifierConfigs.gender.type string Supported gender verification modes (Disabled, CalculationOnly)
verification.verificationConfig.verifierConfigs.commonSettings object Common settings configuration model
verification.verificationConfig.verifierConfigs.commonSettings.failOnMultipleFacesDetected boolean Fail the verification if multiple faces are detected in the input image
verification.verificationConfig.redirectConfig object Redirect URLs used after different verification outcomes
verification.verificationConfig.redirectConfig.passedUrl string URL to redirect to when verification succeeds
verification.verificationConfig.redirectConfig.failedUrl string URL to redirect to when verification fails
verification.verificationConfig.resultParameterConfig object Controls which result parameters are included in API responses
verification.verificationConfig.resultParameterConfig.includeSignature boolean Include a signature value in the response
verification.verificationConfig.resultParameterConfig.includeSessionId boolean Include the session identifier in the response
verification.verificationConfig.resultParameterConfig.includeFaceId boolean Include a face identifier (if available) in the response
verification.verificationConfig.resultParameterConfig.includeAge boolean Include the estimated age
verification.verificationConfig.resultParameterConfig.includeGender boolean Include the estimated gender
verification.verificationConfig.resultParameterConfig.includeVerificationResult boolean Include the overall verification result status
verification.verificationConfig.resultParameterConfig.includeCustomInputParameters boolean Include any custom input parameters that were part of the request
verification.verificationConfig.resultParameterConfig.includeLivenessCheckResult boolean Include the liveness check result
verification.verificationConfig.resultParameterConfig.includeAgeVerificationResult boolean Include the age verification result
verification.verificationConfig.resultParameterConfig.includeGenderVerificationResult boolean Include the gender verification result
verification.verificationConfig.resultParameterConfig.includeFaceRecognitionResult boolean Include the face recognition verification result
verification.verificationConfig.resultParameterConfig.includeCorrelationId boolean Include the correlation identifier
verification.verificationConfig.resultParameterConfig.includeTotalFaceCount boolean Include the total face count detected
verification.verificationConfig.resultParameterConfig.includeFailedReason boolean Include the failed reason
verification.verificationConfig.securityConfig object Security related options influencing verification request validation
verification.verificationConfig.securityConfig.forceSignedInput boolean When true, input payloads must be signed. Default: true.
verification.verificationConfig.sessionOverrideConfig object Settings that allow selectively overriding verification behavior per session
verification.verificationConfig.sessionOverrideConfig.allowVerifierOverrides boolean Allows overriding which verifiers are enabled/disabled
verification.verificationConfig.sessionOverrideConfig.allowResultParameterOverrides boolean Allows overriding which result parameters are returned
verification.verificationConfig.sessionOverrideConfig.allowRedirectOverrides boolean Allows overriding redirect URLs
verification.verificationConfig.webhookConfig object Webhook configuration for server-side event notifications
verification.verificationConfig.webhookConfig.eventCallbackUrl string URL to which a VerificationCompleted event is sent when a session finishes

Example Request:

curl -X GET "https://verifeye-service-api-eu.realeyes.ai/v1/verification/get?verificationId=39e00c96-6431-4b2e-8707-2fb80e561fbf" \
  -H "Authorization: ApiKey API-KEY-FROM-DEV-CONSOLE"

Response Codes:

  • 200 - Success
  • 400 - Bad Request - Invalid parameters
  • 401 - Unauthorized - Missing or invalid authentication
  • 404 - Not Found - Verification configuration not found

Get All Verifications

Returns all verification configurations for the account.

Endpoint: GET /v1/verification/get-all

Authentication: API Key or Bearer Token

Response Example:

{
  "verifications": [
    {
      "verificationId": "39e00c96-6431-4b2e-8707-2fb80e561fbf",
      "name": "Test Verification",
      "created": "2026-02-01T00:00:00Z",
      "lastModified": "2026-02-01T00:00:00Z"
    }
  ]
}

Response Fields:

Name Type Description
verifications array Collection of verification configuration overview models
verifications[].verificationId string Unique identifier of the verification configuration
verifications[].name string Human readable name of the configuration
verifications[].created string UTC timestamp when the configuration was created (ISO 8601 format)
verifications[].lastModified string UTC timestamp of the last modification (ISO 8601 format)

Example Request:

curl -X GET "https://verifeye-service-api-eu.realeyes.ai/v1/verification/get-all" \
  -H "Authorization: ApiKey API-KEY-FROM-DEV-CONSOLE"

Response Codes:

  • 200 - Success
  • 401 - Unauthorized - Missing or invalid authentication

Create Verification

Create a new verification configuration. If you require idempotent behavior — where the configuration is created when it does not yet exist or updated when it does — use Create or Update Verification instead.

Endpoint: POST /v1/verification/create

Authentication: API Key or Bearer Token

Request Body:

{
  "name": "Test Verification",
  "verificationConfig": {
  "verifierConfigs": {
        "liveness": {
          "type": "Verification",
          "challengeType": "Balanced"
        },
        "age": {
          "type": "CalculationOnly"
        },
        "faceRecognition": {
          "type": "DuplicateVerification"
        },
        "gender": {
          "type": "CalculationOnly"
        }
      },
      "redirectConfig": {
        "passedUrl": "https://example.com?result=passed",
        "failedUrl": "https://example.com?result=failed"
      },
      "resultParameterConfig": {
        "includeSignature": true,
        "includeSessionId": true,
        "includeFaceId": true,
        "includeAge": true,
        "includeGender": true,
        "includeVerificationResult": true,
        "includeCustomInputParameters": true,
        "includeLivenessCheckResult": true,
        "includeAgeVerificationResult": true,
        "includeGenderVerificationResult": false,
        "includeFaceRecognitionResult": true,
        "includeCorrelationId": true,
        "includeTotalFaceCount": true,
        "includeFailedReason": true
      },
      "securityConfig": {
        "forceSignedInput": true
      },
      "sessionOverrideConfig": {
        "allowVerifierOverrides": true,
        "allowResultParameterOverrides": false,
        "allowRedirectOverrides": false
      },
      "webhookConfig": {
        "eventCallbackUrl": "https://your-server.example.com/webhook"
      }
  }
}

Request Parameters:

Parameter Type Required Description
name string Yes Human readable name for the verification configuration
verificationConfig object Yes Root container for all adjustable verification configuration sections
verificationConfig.verifierConfigs object No Collection of verifier specific configuration sections
verificationConfig.verifierConfigs.liveness object No Liveness verifier configuration model
verificationConfig.verifierConfigs.liveness.type string No Supported liveness verification modes (Disabled, Verification)
verificationConfig.verifierConfigs.liveness.challengeType string No Supported liveness verification challenges (, Balanced, Advanced)
verificationConfig.verifierConfigs.age object No Age verifier configuration model
verificationConfig.verifierConfigs.age.type string No Supported age verification modes (Disabled, CalculationOnly, ThresholdVerification, RangeVerification)
verificationConfig.verifierConfigs.age.thresholdConfig object No Configuration for threshold based age verification
verificationConfig.verifierConfigs.age.thresholdConfig.threshold integer No Age threshold value used for verification
verificationConfig.verifierConfigs.age.thresholdConfig.direction string No Direction used when evaluating age threshold comparisons (Above, Below)
verificationConfig.verifierConfigs.age.rangeConfig object No Configuration for range based age verification
verificationConfig.verifierConfigs.age.rangeConfig.minimum integer No Minimum allowed age
verificationConfig.verifierConfigs.age.rangeConfig.maximum integer No Maximum allowed age
verificationConfig.verifierConfigs.faceRecognition object No Face recognition verifier configuration model
verificationConfig.verifierConfigs.faceRecognition.type string No Supported face recognition verification modes (Disabled, CalculationOnly, DuplicateVerification, UniqueMatchVerification, MatchVerification)
verificationConfig.verifierConfigs.gender object No Gender verifier configuration model
verificationConfig.verifierConfigs.gender.type string No Supported gender verification modes (Disabled, CalculationOnly)
verificationConfig.verifierConfigs.commonSettings object No Common settings configuration model
verificationConfig.verifierConfigs.commonSettings.failOnMultipleFacesDetected boolean No Fail the verification if multiple faces are detected in the input image
verificationConfig.redirectConfig object No Redirect URLs used after different verification outcomes
verificationConfig.redirectConfig.passedUrl string No URL to redirect to when verification succeeds
verificationConfig.redirectConfig.failedUrl string No URL to redirect to when verification fails
verificationConfig.resultParameterConfig object No Controls which result parameters are included in API responses
verificationConfig.resultParameterConfig.includeSignature boolean No Include a signature value in the response
verificationConfig.resultParameterConfig.includeSessionId boolean No Include the session identifier in the response
verificationConfig.resultParameterConfig.includeFaceId boolean No Include a face identifier (if available) in the response
verificationConfig.resultParameterConfig.includeAge boolean No Include the estimated age
verificationConfig.resultParameterConfig.includeGender boolean No Include the estimated gender
verificationConfig.resultParameterConfig.includeVerificationResult boolean No Include the overall verification result status
verificationConfig.resultParameterConfig.includeCustomInputParameters boolean No Include any custom input parameters that were part of the request
verificationConfig.resultParameterConfig.includeLivenessCheckResult boolean No Include the liveness check result
verificationConfig.resultParameterConfig.includeAgeVerificationResult boolean No Include the age verification result
verificationConfig.resultParameterConfig.includeGenderVerificationResult boolean No Include the gender verification result
verificationConfig.resultParameterConfig.includeFaceRecognitionResult boolean No Include the face recognition verification result
verificationConfig.resultParameterConfig.includeCorrelationId boolean No Include the correlation identifier
verificationConfig.resultParameterConfig.includeTotalFaceCount boolean No Include the total face count detected
verificationConfig.resultParameterConfig.includeFailedReason boolean Include the failed reason  
verificationConfig.securityConfig object No Security related options influencing verification request validation
verificationConfig.securityConfig.forceSignedInput boolean No When true, input payloads must be signed. Default: true (strongly recommended — see security guidance)
verificationConfig.sessionOverrideConfig object No Settings that allow selectively overriding verification behavior per session
verificationConfig.sessionOverrideConfig.allowVerifierOverrides boolean No Allows overriding which verifiers are enabled/disabled
verificationConfig.sessionOverrideConfig.allowResultParameterOverrides boolean No Allows overriding which result parameters are returned
verificationConfig.sessionOverrideConfig.allowRedirectOverrides boolean No Allows overriding redirect URLs
verificationConfig.webhookConfig object No Webhook configuration for server-side event notifications
verificationConfig.webhookConfig.eventCallbackUrl string No URL to which a VerificationCompleted event is sent when a session finishes. Omit or leave empty to disable

Response Example:

{
  "verificationId": "39e00c96-6431-4b2e-8707-2fb80e561fbf"
}

Response Fields:

Name Type Description
verificationId string Identifier of the newly created verification configuration

Example Request:

curl -X POST "https://verifeye-service-api-eu.realeyes.ai/v1/verification/create" \
  -H "Authorization: ApiKey API-KEY-FROM-DEV-CONSOLE" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Test Verification",
    "verificationConfig": {
      "verifierConfigs": {
        "liveness": {
          "type": "Verification",
          "challengeType": "Balanced"
        },
        "age": {
          "type": "CalculationOnly"
        },
        "faceRecognition": {
          "type": "DuplicateVerification"
        },
        "gender": {
          "type": "CalculationOnly"
        }
      },
      "redirectConfig": {
        "passedUrl": "https://example.com?result=passed",
        "failedUrl": "https://example.com?result=failed"
      },
      "resultParameterConfig": {
        "includeSignature": true,
        "includeSessionId": true,
        "includeFaceId": true,
        "includeAge": true,
        "includeGender": true,
        "includeVerificationResult": true,
        "includeCustomInputParameters": true,
        "includeLivenessCheckResult": true,
        "includeAgeVerificationResult": true,
        "includeGenderVerificationResult": false,
        "includeFaceRecognitionResult": true,
        "includeCorrelationId": true,
        "includeTotalFaceCount": true,
        "includeFailedReason": true
      },
      "securityConfig": {
        "forceSignedInput": true
      },
      "sessionOverrideConfig": {
        "allowVerifierOverrides": true,
        "allowResultParameterOverrides": false,
        "allowRedirectOverrides": false
      }
    }
  }'

Response Codes:

  • 200 - Success
  • 400 - Bad Request - Invalid parameters
  • 401 - Unauthorized - Missing or invalid authentication
  • 409 - Conflict - A verification configuration with the same name already exists

Create or Update Verification

Create a new verification configuration, or update the existing one if a verification with the same name already exists.

Endpoint: POST /v1/verification/create-or-update

Authentication: API Key or Bearer Token

Request Body:

{
  "name": "Test Verification",
  "verificationConfig": {
  "verifierConfigs": {
        "liveness": {
          "type": "Verification",
          "challengeType": "Balanced"
        },
        "age": {
          "type": "CalculationOnly"
        },
        "faceRecognition": {
          "type": "DuplicateVerification"
        },
        "gender": {
          "type": "CalculationOnly"
        }
      },
      "redirectConfig": {
        "passedUrl": "https://example.com?result=passed",
        "failedUrl": "https://example.com?result=failed"
      },
      "resultParameterConfig": {
        "includeSignature": true,
        "includeSessionId": true,
        "includeFaceId": true,
        "includeAge": true,
        "includeGender": true,
        "includeVerificationResult": true,
        "includeCustomInputParameters": true,
        "includeLivenessCheckResult": true,
        "includeAgeVerificationResult": true,
        "includeGenderVerificationResult": false,
        "includeFaceRecognitionResult": true,
        "includeCorrelationId":true,
        "includeTotalFaceCount":true,
        "includeFailedReason":true
      },
      "securityConfig": {
        "forceSignedInput": true
      },
      "sessionOverrideConfig": {
        "allowVerifierOverrides": true,
        "allowResultParameterOverrides": false,
        "allowRedirectOverrides": false
      },
      "webhookConfig": {
        "eventCallbackUrl": "https://your-server.example.com/webhook"
      }
  }
}

Request Parameters:

Parameter Type Required Description
name string Yes Human readable name for the verification configuration
verificationConfig object Yes Root container for all adjustable verification configuration sections
verificationConfig.verifierConfigs object No Collection of verifier specific configuration sections
verificationConfig.verifierConfigs.liveness object No Liveness verifier configuration model
verificationConfig.verifierConfigs.liveness.type string No Supported liveness verification modes (Disabled, Verification)
verificationConfig.verifierConfigs.liveness.challengeType string No Supported liveness verification challenges (, Balanced, Advanced)
verificationConfig.verifierConfigs.age object No Age verifier configuration model
verificationConfig.verifierConfigs.age.type string No Supported age verification modes (Disabled, CalculationOnly, ThresholdVerification, RangeVerification)
verificationConfig.verifierConfigs.age.thresholdConfig object No Configuration for threshold based age verification
verificationConfig.verifierConfigs.age.thresholdConfig.threshold integer No Age threshold value used for verification
verificationConfig.verifierConfigs.age.thresholdConfig.direction string No Direction used when evaluating age threshold comparisons (Above, Below)
verificationConfig.verifierConfigs.age.rangeConfig object No Configuration for range based age verification
verificationConfig.verifierConfigs.age.rangeConfig.minimum integer No Minimum allowed age
verificationConfig.verifierConfigs.age.rangeConfig.maximum integer No Maximum allowed age
verificationConfig.verifierConfigs.faceRecognition object No Face recognition verifier configuration model
verificationConfig.verifierConfigs.faceRecognition.type string No Supported face recognition verification modes (Disabled, CalculationOnly, DuplicateVerification, UniqueMatchVerification, MatchVerification)
verificationConfig.verifierConfigs.gender object No Gender verifier configuration model
verificationConfig.verifierConfigs.gender.type string No Supported gender verification modes (Disabled, CalculationOnly)
verificationConfig.verifierConfigs.commonSettings object No Common settings configuration model
verificationConfig.verifierConfigs.commonSettings.failOnMultipleFacesDetected boolean No Fail the verification if multiple faces are detected in the input image
verificationConfig.redirectConfig object No Redirect URLs used after different verification outcomes
verificationConfig.redirectConfig.passedUrl string No URL to redirect to when verification succeeds
verificationConfig.redirectConfig.failedUrl string No URL to redirect to when verification fails
verificationConfig.resultParameterConfig object No Controls which result parameters are included in API responses
verificationConfig.resultParameterConfig.includeSignature boolean No Include a signature value in the response
verificationConfig.resultParameterConfig.includeSessionId boolean No Include the session identifier in the response
verificationConfig.resultParameterConfig.includeFaceId boolean No Include a face identifier (if available) in the response
verificationConfig.resultParameterConfig.includeAge boolean No Include the estimated age
verificationConfig.resultParameterConfig.includeGender boolean No Include the estimated gender
verificationConfig.resultParameterConfig.includeVerificationResult boolean No Include the overall verification result status
verificationConfig.resultParameterConfig.includeCustomInputParameters boolean No Include any custom input parameters that were part of the request
verificationConfig.resultParameterConfig.includeLivenessCheckResult boolean No Include the liveness check result
verificationConfig.resultParameterConfig.includeAgeVerificationResult boolean No Include the age verification result
verificationConfig.resultParameterConfig.includeGenderVerificationResult boolean No Include the gender verification result
verificationConfig.resultParameterConfig.includeFaceRecognitionResult boolean No Include the face recognition verification result
verificationConfig.resultParameterConfig.includeCorrelationId boolean No Include the correlation identifier
verificationConfig.resultParameterConfig.includeTotalFaceCount boolean No Include the total face count detected
verificationConfig.resultParameterConfig.includeFailedReason boolean Include the failed reason  
verificationConfig.securityConfig object No Security related options influencing verification request validation
verificationConfig.securityConfig.forceSignedInput boolean No When true, input payloads must be signed. Default: true (strongly recommended — see security guidance)
verificationConfig.sessionOverrideConfig object No Settings that allow selectively overriding verification behavior per session
verificationConfig.sessionOverrideConfig.allowVerifierOverrides boolean No Allows overriding which verifiers are enabled/disabled
verificationConfig.sessionOverrideConfig.allowResultParameterOverrides boolean No Allows overriding which result parameters are returned
verificationConfig.sessionOverrideConfig.allowRedirectOverrides boolean No Allows overriding redirect URLs
verificationConfig.webhookConfig object No Webhook configuration for server-side event notifications
verificationConfig.webhookConfig.eventCallbackUrl string No URL to which a VerificationCompleted event is sent when a session finishes. Omit or leave empty to disable

Response Example:

{
  "verificationId": "39e00c96-6431-4b2e-8707-2fb80e561fbf",
  "wasCreated": true
}

Response Fields:

Name Type Description
verificationId string Identifier of the created or updated verification configuration
wasCreated boolean Indicates whether the verification configuration was newly created (true) or an existing one with the same name was updated (false)

Example Request:

curl -X POST "https://verifeye-service-api-eu.realeyes.ai/v1/verification/create-or-update" \
  -H "Authorization: ApiKey API-KEY-FROM-DEV-CONSOLE" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Test Verification",
    "verificationConfig": {
      "verifierConfigs": {
        "liveness": {
          "type": "Verification",
          "challengeType": "Balanced"
        },
        "age": {
          "type": "CalculationOnly"
        },
        "faceRecognition": {
          "type": "DuplicateVerification"
        },
        "gender": {
          "type": "CalculationOnly"
        }
      },
      "redirectConfig": {
        "passedUrl": "https://example.com?result=passed",
        "failedUrl": "https://example.com?result=failed"
      },
      "resultParameterConfig": {
        "includeSignature": true,
        "includeSessionId": true,
        "includeFaceId": true,
        "includeAge": true,
        "includeGender": true,
        "includeVerificationResult": true,
        "includeCustomInputParameters": true,
        "includeLivenessCheckResult": true,
        "includeAgeVerificationResult": true,
        "includeGenderVerificationResult": false,
        "includeFaceRecognitionResult": true,
        "includeCorrelationId":true,
        "includeTotalFaceCount":true,
        "includeFailedReason":true
      },
      "securityConfig": {
        "forceSignedInput": true
      },
      "sessionOverrideConfig": {
        "allowVerifierOverrides": true,
        "allowResultParameterOverrides": false,
        "allowRedirectOverrides": false
      }
    }
  }'

Response Codes:

  • 200 - Success
  • 400 - Bad Request - Invalid parameters
  • 401 - Unauthorized - Missing or invalid authentication

Update Verification

Update a verification configuration.

Endpoint: PUT /v1/verification/update

Authentication: API Key or Bearer Token

Request Body:

{
   "name":"Test Verification",
   "verificationConfig":{
      "verifierConfigs":{
         "liveness":{
            "type":"Verification",
            "challengeType": "Balanced"
         },
         "age":{
            "type":"CalculationOnly"
         },
         "faceRecognition":{
            "type":"Disabled"
         },
         "gender":{
            "type":"CalculationOnly"
         }
      },
      "redirectConfig":{
         "passedUrl":"https://example.com?result=passed",
         "failedUrl":"https://example.com?result=failed"
      },
      "resultParameterConfig":{
         "includeSignature":true,
         "includeSessionId":true,
         "includeFaceId":true,
         "includeAge":true,
         "includeGender":true,
         "includeVerificationResult":true,
         "includeCustomInputParameters":true,
         "includeLivenessCheckResult":true,
         "includeAgeVerificationResult":true,
         "includeGenderVerificationResult":false,
         "includeFaceRecognitionResult":true,
         "includeCorrelationId":true,
         "includeTotalFaceCount":true,
         "includeFailedReason":true
      },
      "securityConfig":{
         "forceSignedInput":true
      },
      "sessionOverrideConfig":{
         "allowVerifierOverrides":true,
         "allowResultParameterOverrides":false,
         "allowRedirectOverrides":false
      },
      "webhookConfig":{
         "eventCallbackUrl":"https://your-server.example.com/webhook"
      }
   },
   "verificationId":"39e00c96-6431-4b2e-8707-2fb80e561fbf"
}

Request Parameters:

Parameter Type Required Description
verificationId string Yes The ID of the verification configuration to update
name string Yes Human readable name for the verification configuration
verificationConfig object Yes Root container for all adjustable verification configuration sections
verificationConfig.verifierConfigs object No Collection of verifier specific configuration sections
verificationConfig.verifierConfigs.liveness object No Liveness verifier configuration model
verificationConfig.verifierConfigs.liveness.type string No Supported liveness verification modes (Disabled, Verification)
verificationConfig.verifierConfigs.liveness.challengeType string No Supported liveness verification challenges (, Balanced, Advanced)
verificationConfig.verifierConfigs.age object No Age verifier configuration model
verificationConfig.verifierConfigs.age.type string No Supported age verification modes (Disabled, CalculationOnly, ThresholdVerification, RangeVerification)
verificationConfig.verifierConfigs.age.thresholdConfig object No Configuration for threshold based age verification
verificationConfig.verifierConfigs.age.thresholdConfig.threshold integer No Age threshold value used for verification
verificationConfig.verifierConfigs.age.thresholdConfig.direction string No Direction used when evaluating age threshold comparisons (Above, Below)
verificationConfig.verifierConfigs.age.rangeConfig object No Configuration for range based age verification
verificationConfig.verifierConfigs.age.rangeConfig.minimum integer No Minimum allowed age
verificationConfig.verifierConfigs.age.rangeConfig.maximum integer No Maximum allowed age
verificationConfig.verifierConfigs.faceRecognition object No Face recognition verifier configuration model
verificationConfig.verifierConfigs.faceRecognition.type string No Supported face recognition verification modes (Disabled, CalculationOnly, DuplicateVerification, UniqueMatchVerification, MatchVerification)
verificationConfig.verifierConfigs.gender object No Gender verifier configuration model
verificationConfig.verifierConfigs.gender.type string No Supported gender verification modes (Disabled, CalculationOnly)
verificationConfig.verifierConfigs.commonSettings object No Common settings configuration model
verificationConfig.verifierConfigs.commonSettings.failOnMultipleFacesDetected boolean No Fail the verification if multiple faces are detected in the input image
verificationConfig.redirectConfig object No Redirect URLs used after different verification outcomes
verificationConfig.redirectConfig.passedUrl string No URL to redirect to when verification succeeds
verificationConfig.redirectConfig.failedUrl string No URL to redirect to when verification fails
verificationConfig.resultParameterConfig object No Controls which result parameters are included in API responses
verificationConfig.resultParameterConfig.includeSignature boolean No Include a signature value in the response
verificationConfig.resultParameterConfig.includeSessionId boolean No Include the session identifier in the response
verificationConfig.resultParameterConfig.includeFaceId boolean No Include a face identifier (if available) in the response
verificationConfig.resultParameterConfig.includeAge boolean No Include the estimated age
verificationConfig.resultParameterConfig.includeGender boolean No Include the estimated gender
verificationConfig.resultParameterConfig.includeVerificationResult boolean No Include the overall verification result status
verificationConfig.resultParameterConfig.includeCustomInputParameters boolean No Include any custom input parameters that were part of the request
verificationConfig.resultParameterConfig.includeLivenessCheckResult boolean No Include the liveness check result
verificationConfig.resultParameterConfig.includeAgeVerificationResult boolean No Include the age verification result
verificationConfig.resultParameterConfig.includeGenderVerificationResult boolean No Include the gender verification result
verificationConfig.resultParameterConfig.includeFaceRecognitionResult boolean No Include the face recognition verification result
verificationConfig.resultParameterConfig.includeCorrelationId boolean No Include the correlation identifier
verificationConfig.resultParameterConfig.includeTotalFaceCount boolean No Include the total face count detected
verificationConfig.resultParameterConfig.includeFailedReason boolean Include the failed reason  
verificationConfig.securityConfig object No Security related options influencing verification request validation
verificationConfig.securityConfig.forceSignedInput boolean No When true, input payloads must be signed. Default: true (strongly recommended — see security guidance)
verificationConfig.sessionOverrideConfig object No Settings that allow selectively overriding verification behavior per session
verificationConfig.sessionOverrideConfig.allowVerifierOverrides boolean No Allows overriding which verifiers are enabled/disabled
verificationConfig.sessionOverrideConfig.allowResultParameterOverrides boolean No Allows overriding which result parameters are returned
verificationConfig.sessionOverrideConfig.allowRedirectOverrides boolean No Allows overriding redirect URLs
verificationConfig.webhookConfig object No Webhook configuration for server-side event notifications
verificationConfig.webhookConfig.eventCallbackUrl string No URL to which a VerificationCompleted event is sent when a session finishes. Omit or leave empty to disable

Response Example:

{
  "verificationId": "39e00c96-6431-4b2e-8707-2fb80e561fbf"
}

Response Fields:

Name Type Description
verificationId string Identifier of the updated verification configuration

Example Request:

curl -X PUT "https://verifeye-service-api-eu.realeyes.ai/v1/verification/update" \
  -H "Authorization: ApiKey API-KEY-FROM-DEV-CONSOLE" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Test Verification",
    "verificationConfig": {
      "verifierConfigs": {
        "liveness": {
          "type": "Verification",
          "challengeType": "Balanced"
        },
        "age": {
          "type": "CalculationOnly"
        },
        "faceRecognition": {
          "type": "Disabled"
        },
        "gender": {
          "type": "CalculationOnly"
        }
      },
      "redirectConfig": {
        "passedUrl": "https://example.com?result=passed",
        "failedUrl": "https://example.com?result=failed"
      },
      "resultParameterConfig": {
        "includeSignature": true,
        "includeSessionId": true,
        "includeFaceId": true,
        "includeAge": true,
        "includeGender": true,
        "includeVerificationResult": true,
        "includeCustomInputParameters": true,
        "includeLivenessCheckResult": true,
        "includeAgeVerificationResult": true,
        "includeGenderVerificationResult": false,
        "includeFaceRecognitionResult": true,
        "includeCorrelationId": true,
        "includeTotalFaceCount": true,
        "includeFailedReason": true
      },
      "securityConfig": {
        "forceSignedInput": true
      },
      "sessionOverrideConfig": {
        "allowVerifierOverrides": true,
        "allowResultParameterOverrides": false,
        "allowRedirectOverrides": false
      },
      "webhookConfig": {
        "eventCallbackUrl": "https://your-server.example.com/webhook"
      }
    },
    "verificationId": "39e00c96-6431-4b2e-8707-2fb80e561fbf"
  }'

Response Codes:

  • 200 - Success
  • 400 - Bad Request - Invalid parameters
  • 401 - Unauthorized - Missing or invalid authentication
  • 404 - Not Found - Verification configuration not found
  • 409 - Conflict - A verification configuration with the same name already exists

Delete Verification

Delete a verification configuration.

Endpoint: DELETE /v1/verification/delete

Authentication: API Key or Bearer Token

Query Parameters:

Parameter Type Required Description
verificationId string Yes The ID of the verification configuration to delete

Example Request:

curl -X DELETE "https://verifeye-service-api-eu.realeyes.ai/v1/verification/delete?verificationId=39e00c96-6431-4b2e-8707-2fb80e561fbf" \
  -H "Authorization: ApiKey API-KEY-FROM-DEV-CONSOLE"

Response Codes:

  • 200 - Success
  • 400 - Bad Request - Invalid parameters
  • 401 - Unauthorized - Missing or invalid authentication
  • 404 - Not Found - Verification configuration not found

Get Session Result

Returns all available verification results for a given verification session, regardless of the result parameter configuration. The session must belong to the authenticated account and must have been created within the last 7 days.

Endpoint: GET /v1/verification/get-session-result

Authentication: API Key or Bearer Token

Query Parameters:

Parameter Type Required Description
verificationSessionId string Yes The ID of the verification session to retrieve results for

Response Example:

{
  "verificationSessionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "verificationResult": "Pass",
  "verificationFailedReasons": ["noFace"],
  "livenessVerificationResult": "Pass",
  "ageVerificationResult": "Pass",
  "estimatedAge": 30.5,
  "genderVerificationResult": "Pass",
  "estimatedGender": "Male",
  "faceRecognitionResult": "Pass",
  "faceId": "face-uuid-here",
  "correlationId": "corr-uuid-here",
  "totalFaceCount": 1,
  "customInputParameters": {
    "userId": "user123",
    "campaignId": "camp456"
  }
}

Response Fields:

Field Type Description
verificationSessionId string The ID of the verification session
verificationResult string Overall verification outcome (Pass, Fail). Null if not yet determined
verificationFailedReasons array List of categorised reasons why the verification failed. Possible values: consentDeclined, cameraAccessError, noFace, multipleFaces, timeout, others. Null if not available
livenessVerificationResult string Result of the liveness check (Pass, Fail). Null if liveness was not performed
ageVerificationResult string Result of the age verification (Pass, Fail). Null if age verification was not performed
estimatedAge number Estimated age of the subject. Null if age estimation was not performed
genderVerificationResult string Result of the gender verification (Pass, Fail). Null if gender verification was not performed
estimatedGender string Estimated gender of the subject. Null if gender estimation was not performed
faceRecognitionResult string Result of the face recognition check (Pass, Fail). Null if face recognition was not performed
faceId string Identifier of the recognised face. Null if face recognition was not performed
correlationId string Correlation identifier for tracing the session request. Null if not captured
totalFaceCount integer Total number of faces detected in the input. Null if not captured
customInputParameters object Key-value pairs of custom parameters passed in the original session request query string. Reserved system parameters are excluded. For the full list of reserved parameter names, see Parameters. Null if no custom parameters were present

Example Request:

curl -X GET "https://verifeye-service-api-eu.realeyes.ai/v1/verification/get-session-result?verificationSessionId=a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  -H "Authorization: ApiKey API-KEY-FROM-DEV-CONSOLE"

Response Codes:

  • 200 - Success
  • 400 - Bad Request - Invalid parameters
  • 404 - Not Found - Session does not exist, does not belong to the authenticated account or is older than 7 days

Health Check

Check the API health status.

Endpoint: GET /v1/healthz

Authentication: None required

Response Example:

2026-02-08T11:34:54.3015450Z

Response Fields:

Name Type Description
(response body) string The server UTC time in ISO 8601 format

Example Request:

curl -X GET "https://verifeye-service-api-eu.realeyes.ai/v1/healthz"

Response Codes:

  • 200 - API is healthy

Common Response Codes

Code Description
200 Success
400 Bad Request - Invalid parameters
401 Unauthorized - Missing or invalid authentication
403 Forbidden - Valid authentication but account not found or insufficient permissions
404 Not Found - Resource not found
500 Internal Server Error

Swagger Documentation

Interactive API documentation is available via Swagger UI:


Last updated: 2026-03-31