Authentication
VerifEye REST APIs support two authentication methods.
1. API Key Authentication
VerifEye APIs use API Key authentication with the Authorization header.
Format
Header Format:
Authorization: ApiKey <API-KEY-FROM-DEV-CONSOLE>
Example
curl -X POST "https://verifeye-face-api-eu.realeyes.ai/v1/face/identify" \
-H "Authorization: ApiKey <API-KEY-FROM-DEV-CONSOLE>" \
-H "Content-Type: application/json" \
-d '{
"image": {
"bytes": "/9j/4AAQSkZJRgABAQEAYABgAAD..."
},
"collectionId": "my-collection"
}'
2. JWT Bearer Token Authentication
JWT tokens provide time-limited authentication for client-side applications. Tokens are generated using the VerifEye Security API's /token/get endpoint.
Format
Header Format:
Authorization: Bearer <jwt-token>
How to Get a JWT Token
Step 1: Generate Token
curl -X GET "https://verifeye-security-api-eu.realeyes.ai/v1/token/get" \
-H "Authorization: ApiKey <API-KEY-FROM-DEV-CONSOLE>"
Response:
{
"token": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9...",
"expiresAt": "2026-01-27T12:00:00Z"
}
Step 2: Use Token in API Requests
curl -X POST "https://verifeye-face-api-eu.realeyes.ai/v1/face/identify" \
-H "Authorization: Bearer eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9..." \
-H "Content-Type: application/json" \
-d '{
"image": {
"bytes": "/9j/4AAQSkZJRgABAQEAYABgAAD..."
},
"collectionId": "my-collection"
}'
Managing Your API Keys
Your account can hold up to four API keys. Create and delete them in the VerifEye Developer Console on the API Key page (profile menu → API Key, or Home → View API Keys).
- Every key authenticates. Any key of your account is accepted by every VerifEye API, by the Security API's
/token/getand as the client secret of an OpenID Connect integration. - A flow keeps the key it was started with. A verification started from a URL signed with one of your keys, or a session created with one, signs its result with that key and sends it in the webhook's
X-API-Keyheader. Use a separate key per application, so one can be deleted without affecting the others. - The primary key is the default where no key can be inferred: the verification links of OpenID Connect sign-ins, the MCP server, the Developer Console's own calls, callers that authenticate with a Bearer token, and sessions started from an unsigned URL. Making another key primary changes only that; links signed with your other keys stay valid. The MCP server picks up a new primary within five minutes.
- Deleting a key rejects its requests within a minute, stops every verification link signed with it on a configuration that requires signed input, non-expiring links and widget snippets included, fails its sessions in flight, and breaks an OpenID Connect integration that uses it as its client secret.
- After a key leaks, rotate every key of the account, not only the leaked one: generate new keys, deploy them, make one of them primary, then delete the old ones.
Last updated: 2026-10-22