Skip to main content

Overview

Destined Voice API uses Bearer token authentication. Include your API key in the Authorization header of every request.

Getting Your API Key

  1. Sign up at destined.ai
  2. Navigate to Settings > API Keys
  3. Click Create API Key
  4. Copy and store your key securely
Keep your API key secret. Never commit it to version control or expose it in client-side code.

Using the API Key

With the SDK

import { SDK } from "@destined-ai/voice";

const client = new SDK({
  bearerToken: process.env.DESTINED_API_KEY,
});

With cURL

curl -X GET "https://api.destined.ai/v1/speakers" \
  -H "Authorization: Bearer YOUR_API_KEY"

With fetch

const response = await fetch("https://api.destined.ai/v1/speakers", {
  headers: {
    "Authorization": `Bearer ${process.env.DESTINED_API_KEY}`,
    "Content-Type": "application/json",
  },
});

Public Endpoints

Some endpoints don’t require authentication:
EndpointDescription
GET /healthAPI health check
GET /v1/speakersList available speakers
POST /v1/stt/calculate-accuracyCalculate WER/CER metrics

Rate Limits

Rate limits vary by subscription tier:
TierRequests/minuteRequests/day
Starter601,000
Pro30010,000
Enterprise1,000Unlimited
Rate limit headers are included in every response:
  • X-RateLimit-Limit: Maximum requests allowed
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Unix timestamp when limit resets

Error Responses

Authentication errors return a 401 Unauthorized response:
{
  "detail": "Invalid or expired API key"
}
Common authentication issues:
ErrorCauseSolution
401 UnauthorizedMissing or invalid API keyCheck your API key is correct
403 ForbiddenInsufficient permissionsUpgrade your subscription tier
429 Too Many RequestsRate limit exceededWait and retry, or upgrade tier