POST /enroll
Enroll a new user identity with their public key and device information.Request
Unique identifier for the user
64-character hex-encoded public key generated from biometric data
Unique identifier for the user’s device
Biometric method used (e.g., ‘rawid’, ‘faceid’, ‘touchid’)
Response
Whether enrollment was successful
The enrolled user ID
The enrolled public key
The biometric method used
Status Codes
- 200: Successfully enrolled
- 400: Missing required fields or invalid publicKey format (must be 64 characters)
- 500: Enrollment failed (database error)
Example
Response
GET /challenge
Generate a new authentication challenge. Challenges are valid for 5 minutes.Response
A 64-character hex-encoded random challenge
Status Codes
- 200: Challenge generated successfully
Example
Response
POST /verify
Verify a user’s identity using a challenge. Challenges are single-use and expire after 5 minutes.Request
The user ID to verify
The challenge obtained from GET /challenge
Response
Whether verification was successful
The user’s public key (returned on success)
The verified user ID
The biometric method associated with this identity
Status Codes
- 200: Successfully verified
- 400: Missing required fields
- 401: Invalid or expired challenge
- 404: Unknown userId
Example
Response