Integrate voice identity protection into your platform with our REST API. Base URL: https://api.voiceseal.io/api/v1
All API requests require a JWT Bearer token obtained via login.
POST /auth/login
Content-Type: application/json
{
"email": "[email protected]",
"password": "your_password"
}
// Response
{
"access_token": "eyJ...",
"token_type": "bearer",
"user_id": "uuid"
}
Include the token in all subsequent requests: Authorization: Bearer <token>
Enroll and manage voice prints.
/voices/enroll
Enroll a new voice. Requires multipart/form-data with audio file. Biometric consent must be granted first.
/voices
List all enrolled voices for the authenticated user.
/voices/{voice_id}
Remove an enrolled voice and all associated data.
Scan audio for unauthorized voice clones.
/detection/scan
Submit audio for detection. Returns match confidence, voice_id if matched, and watermark data.
// Response
{
"match": true,
"voice_id": "uuid",
"confidence": 0.97,
"watermark_detected": true,
"latency_ms": 243
}
BIPA-compliant consent management. Required before voice enrollment.
/consent/submit
Grant biometric consent. Must be called before enrollment.
/consent/withdraw
Withdraw consent and trigger data deletion per BIPA requirements.
Receive real-time detection events to your endpoint.
// Detection event payload
{
"event": "voice.detected",
"voice_id": "uuid",
"owner_id": "uuid",
"platform": "elevenlabs",
"confidence": 0.94,
"timestamp": "2026-03-10T14:32:00Z",
"audio_url": "https://...",
"action_required": true
}
Register webhooks via POST /webhooks/register with your endpoint URL and secret.