API ConventionsGetting Started

API Conventions#

Rules that apply to every endpoint.

Base URL and transport#

All requests use HTTPS. Responses are JSON (application/json; charset=utf-8); audio responses are audio/mpeg. GET requests use query parameters, write requests a JSON body.

Tenant context#

MechanismBehavior
X-Tenant headerSets the tenant explicitly (overrides everything)
Host detectionserielle-… hosts map to tenant ssr, everything else to bbe

Isolation is enforced server-side: there is no way to read or write another tenant's data.

Versioning#

The /v2/ namespace versions the API. The contract version (contract) is visible in /health and follows semantic versioning.

Error format#

Errors come back as JSON with a descriptive error code and, where helpful, a message:

json
{ "error": "phone_required" }
HTTP statusMeaning
400Request incomplete or invalid
404Resource or route does not exist
429Rate limit reached (public lead intake)
502Downstream engine (TTS/STT) unreachable

CORS#

The console UIs are allow-listed. The only open surface is the public lead intake /v2/public/leads — protected by a honeypot field and a rate limit (10 requests per IP per minute), and it can only write, never read.

Languages#

Speech processing (TTS and STT) is verified for German; the underlying models are multilingual.

CallFluence — voice AI platform. Last updated 2026-07-27.