Developer Reference

API Documentation

Integrate voice identity protection into your platform with our REST API. Base URL: https://api.voiceseal.io/api/v1

Authentication

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>

Voices

Enroll and manage voice prints.

POST /voices/enroll

Enroll a new voice. Requires multipart/form-data with audio file. Biometric consent must be granted first.

GET /voices

List all enrolled voices for the authenticated user.

DELETE /voices/{voice_id}

Remove an enrolled voice and all associated data.

Detection

Scan audio for unauthorized voice clones.

POST /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
}

Webhooks

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.

View Interactive Docs (Swagger)