Playground biometrics demo BioID home page

SOAP Method PhotoVerify

Performs a one-to-one comparison of the submitted live images with the submitted ID photo in order to verify whether the live images and ID photo belong to the same person.

bool PhotoVerify(Sample[] samples, Sample photo, out string messages, int accuracy);

  • Parameters

  • samples
    The array of one or more live face Samples (images) to use for live detection and to match against the photo. The array may only contain samples of the trait face.
  • photo
    The face Sample containing the ID photo to match against the live images.
  • messages
    Returns an XML-string containing information about the verification process (see BWSMessages).
  • accuracy
    An integer containing the desired accuracy level between 1 and 5.


Returns true when all images have been processed successfully and the ID photo matches the live images;  false otherwise, or when errors occurred (see messages for details).


PhotoVerify is a BWS service, which uses one passport image from an ID document and compares that to one or more "live" images of a person, to find out whether the persons shown are the same. No classes are created, no templates or patterns are stored. It fulfills all requirements for an anonymous ID proofing service.

This method supports liveness detection in case more than one live samples have been submitted. Note that in this case PhotoVerify will only succeed, when it can undoubtedly determine that the given data is live data. In case that the liveness detection succeeds, the degree of the head rotation between two subsequent images is reported with the returned messages XML-string.

This API has a fault contract of type BioIDWebServiceFault which is used for fatal errors like invalid arguments or missing service, etc. Messages, even error messages, generated by the verification procedure are reported via the messages output value, which contains an XML string according to the BWSMessages schema namespace.


  • InvalidArgument
    Not all required samples have been transmitted. Please send at least one live face sample and one photo to the BioID Web Service.
  • AccessDenied
    Access to the requested service operation has been denied. Please ensure that you use a valid client authentication certificate and that this certificate has been announced to BioID GmbH as your client certificate.
  • InternalError
    For some reason BioID is not running or not configured correctly on this BWS deployment.

Operation Error-codes

The messages output XML string might contain operation specific errors as follows:

  • LiveDetectionFailed
    The submitted live samples do not prove that they are recorded from a live person.
  • ExecutionOfJobTimedOut
    The service could not process the requested task in a reasonable amount of time.
  • NotEnoughSamples
    Not enough samples are available to continue with the photo-verification. It seems that all face live samples have been removed for some reason.

Sample Error-codes

The messages output XML string might also contain errors for the individual samples. Many of the errors can result from the initial quality-check that is performed before anything else is done. Please refer to the QualityCheck method for a list of sample errors that might have been generated by the quality-check.

Additionally the following errors can occur. With any of theses errors the sample is marked as unsuitable and is not considered in the verification process:

  • LiveDetectionFailed
    The sample has been discarded as it cannot be proven that it has been recorded from a live person.
  • IdenticalImages
    The sample has been discarded as it is identical to the previous one.