Skip to main content
GET

List BYOK Providers

Returns all supported LLM, STT, TTS, and Phone providers that accept BYOK API keys.

Request

No authentication required.

Response

Supported Providers

Phone Provider BYOK

Phone providers require two credentials (stored as a JSON string): Vobiz:
Twilio:
Plivo:
The auth_token is reused at runtime to verify X-Plivo-Signature-V3 on inbound /plivo/incoming/{phone_id} and /plivo/status/{phone_id} webhooks (HMAC-SHA256 over url + nonce + body). Exotel:
Exotel doesn’t sign webhooks — instead the /exotel/incoming/{phone_id} and /exotel/status/{phone_id} endpoints fail closed unless the request comes from an IP in the EXOTEL_ALLOWED_IPS env (default: built-in allowlist of current AP-South-1 + US-West-2 callback IPs). Optionally add a per-phone token to the URL as a ?token=… query param and store it as phone_numbers.config.exotel_webhook_token. Telnyx:
The public_key is REQUIRED if you want inbound webhook signature verification — /webhooks/telnyx/voice rejects unsigned POSTs (pre-fix they were accepted, which let any internet attacker dispatch a billable agent on call.initiated). Rotates ~annually from the Telnyx portal. Use the dedicated BYOK endpoints for phone providers:
  • POST /voice/vobiz/byok/validate — Validate Vobiz credentials and list numbers
  • POST /voice/vobiz/byok/import — Import a Vobiz number
  • POST /voice/twilio/byok/validate — Validate Twilio credentials and list numbers
  • POST /voice/twilio/byok/import — Import a Twilio number
  • POST /voice/plivo/byok/validate — Validate Plivo credentials and list numbers
  • POST /voice/plivo/byok/import — Import a Plivo number
  • POST /voice/exotel/byok/validate — Validate Exotel credentials and list numbers
  • POST /voice/exotel/byok/import — Import an Exotel number
  • POST /voice/telnyx/byok/validate — Validate Telnyx credentials and list numbers
  • POST /voice/telnyx/byok/import — Import a Telnyx number
Phone BYOK numbers have billing_status: "byok" and monthly_cost_cents: 0. You pay your phone provider directly — thinnestAI only charges for AI agent processing minutes.

Tool Provider BYOK (UPI Payment, Aadhaar eKYC)

Some voice tools are per-tenant: each agent owner brings their own merchant / KYC account so the platform never holds custody of the underlying credentials. UPI Payment — uses Razorpay. Set both keys with POST /byok/set:
Aadhaar eKYC — uses Surepass:
Without these keys saved, the corresponding tools refuse to load and the agent surfaces “tool not configured” instead of falling back to platform credentials.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Response

200 - application/json

Successful Response