stile
API Reference

Verified Person

Check if a user has been previously verified across any site in the stile network, enabling cross-site verification reuse.

The Verified Person API lets you check whether a user has already been verified — either on your site or across the stile network — so you can skip verification for returning users.

All examples on this page assume you've initialized the Node.js SDK. See Installation for setup.

Lookup

POST/v1/verified_person/lookup

Call this from your backend before loading the SDK. If the user is already verified at the required strength, you can skip the SDK entirely.

ParameterTypeDescription
emailstringUser email. At least one of email or phone is required.
phonestringUser phone number. At least one of email or phone is required.
methodsstring[]Only consider verifications that used one of these methods.
min_strengthstringMinimum credential strength to accept. E.g. "document_capture" to only accept doc capture or stronger (MDL, MID, EUDI PID).
max_agestringMaximum age of the verification in days. E.g. "30" for the last 30 days.
const result = await stile.verifiedPersons.lookup({
  email: "user@example.com",
  min_strength: "document_capture",
  max_age: "30",
});

if (result.verified) {
  console.log(result.verified_person_id);
  console.log(result.credentials);
  // [{ method: "MDL", strength: "MDL", verified_at: "...", expires_at: "..." }]
}
curl -X POST https://api.stile.dev/v1/verified_person/lookup \
  -H "Authorization: Bearer vk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "min_strength": "document_capture"
  }'

Response

{
  "object": "verified_person_lookup",
  "verified": true,
  "verified_person_id": "vp_abc123",
  "credentials": [
    {
      "method": "MDL",
      "strength": "MDL",
      "verified_at": "2025-03-01T12:00:00.000Z",
      "expires_at": "2026-03-01T12:00:00.000Z"
    }
  ]
}

On this page