Overview
Creates a new user in the BOOP Network by submitting encrypted palm vein data shares for secure multi-party computation storage.
This endpoint is typically called by PVS devices during user registration, not directly by vendors.
Request
Array of encrypted biometric data shares for MPC storage
Optional custom user identifier. If not provided, one will be generated.
Additional metadata about the registration
ID of the PVS device performing registration
ISO 8601 timestamp of registration
Scan quality score (0-100)
Response
Will be “job-status” for async operations
Unique identifier for tracking the registration job
Current status: “created”, “processing”, “completed”, or “failed”
The assigned user ID (returned when status is “completed”)
{
"create-shares": [
"encrypted_share_1_base64",
"encrypted_share_2_base64",
"encrypted_share_3_base64"
]
}
{
"type": "job-status",
"job-id": "550e8400-e29b-41d4-a716-446655440000",
"status": "created"
}
Job Status Polling
After creating a user, poll the job status endpoint:
GET /api/v1/jobs/{job-id}/status
async function createUser(shares) {
// Create user
const response = await fetch('https://dev.app.boop.it/api/v1/mpc/users/create', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'your-api-key'
},
body: JSON.stringify({
'create-shares': shares
})
});
const { 'job-id': jobId } = await response.json();
// Poll for completion
let status = 'created';
while (status !== 'completed' && status !== 'failed') {
await new Promise(resolve => setTimeout(resolve, 1000));
const statusResponse = await fetch(
`https://dev.app.boop.it/api/v1/jobs/${jobId}/status`
);
const result = await statusResponse.json();
status = result.status;
if (status === 'completed') {
return result.user_id;
}
}
}
Security Considerations
- Biometric shares must be properly encrypted before transmission
- Each share should be sent to a different MPC node
- Never send raw biometric data to this endpoint
- Use TLS for all API communications
Rate Limits
- 10 user creations per minute per API key
- 100 user creations per hour per API key