Privacy Key 1:Few Search

Privacy Key 1:Few Search allows comparing a user's biometric information against a targeted set of Privacy Keys — identified by specific account numbers — using a single API call.

This is a scoped variant of the Privacy Key Search API. Unlike the standard search which runs across all enrolled Privacy Keys, the 1:Few search narrows the comparison to a caller-specified list of accounts. Please see the swagger reference documentation for details.


Search API Endpoint

The Privacy Key search endpoint requires the following inputs:

  • operationId: the Operation Id of a Proof or a Selfie transaction can be provided. The live user image information captured during Proof / Selfie transaction is used to search against the specified Privacy Keys.

  • accountNumbers(multiple allowed): the list of accounts whose enrolled Privacy Keys will be searched.

  • numberOfBitsCorrection (optional): controls the tolerance for discrepancy between the Privacy Key and the incoming facial image. When omitted, the tenant-level default is used.

Sample API Call

curl -X 'POST' \
  'https://id.authid.ai/search/search' \
  -H 'accept: text/plain' \
  -H 'Authorization: Bearer <Authid Token>' \
  -H 'Content-Type: multipart/form-data' \
  -F 'operationId=d363b7e9-804c-d13f-4834-da0e3f884924' \
  -F 'accountNumbers=AccountOne' \
  -F 'accountNumbers=AccountTwo' \
  -F 'accountNumbers=AccountThree' \
  -F 'accountNumbers=AccountFour' \
  -F 'numberOfBitsCorrection=2'

API Response

The search returns the list of records, providing the data for each Account specified in accountNumbers list.

An example of response with one unique record is shown below:

{
  "matches": [
    {
      "score": 0,
      "pbPublicKey": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAX3aMZiPqtmAvNA1cL03nCpp2YP5qXXlq7TpUuIU+/tg=\n-----END PUBLIC KEY-----\n",
      "pbSignatureType": "EdDSA",
      "pbAttestationData": "eyJTZWFyY2hJRCI6ImNmZjI5Y2E5LTk3ZDQtNzllZS1lMWJjLTlhYjFmMWMwZWY4ZiJ9",
      "pbAttestationSignature": "LZvxFeDAfidVAM7UH9pQfKBgq3XrH4PXSKOkRVhLSUMUK2FYfheWodYsFMAO0Pt7sAnGAlU1ETxUYlRfxjbUDQ==",
      "id": "emZhY3siVGltZSI6IjIwMjUtMDYtMTBUMTM6NTA6NTguNTYzOTU0MSswMDowMCJ9",
      "owner": {
        "id": "061dcd09-5cee-425f-b5c3-ab4382dbd8b3",
        "name": "AccountOne"
      },
      "modifiedDate": "2025-06-10T14:28:00.567",
      "deletedDate": null
    }
  ],
  "warnings": [
    {
      "message": "Account 'AccountOne' has no enrolled privacy keys.",
      "accountPrivacyKeysNotFound": {
        "account": {
          "id": "809fc710-355c-4e8b-8a6a-ef2e207b2b7d",
          "name": "AccountTwo"
        }
      }
    },
    {
      "message": "No account found for account number 'AccountThree'.",
      "accountNotFound": {
        "account": {
          "id": null,
          "name": "AccountThree"
        }
      }
    }
  ]
}

Successful Match

matches array contains information about the Privacy Keys that matched the user. Each array element is described below:

owner.id contains the unique identifier (UIN) of the user account the Privacy Key credential belongs to

owner.name contains the accountNumber attribute of the account.

id contains the Credential Id attribute of the specific Privacy Key that matched.

pbPublicKey contains the Public Key corresponding to Privacy Key private key.


Matching Not Performed

warnings array contains information indicating that comparison of the Privacy Key was not done for some of the provided Accounts, together with the corresponding reason:

  • account does not exist
  • account exists, but has no associated Privacy Keys

No Match Found

If the Privacy Key for the given accountNumber provided in the input does not match the biometric information of the user, nothing is reported for that accountNumber.

If all provided accounts have enrolled Privacy Keys but none match the user's biometric information, the output will contain an empty array — no matches or warnings are generated.