01everything builtchecked against the live api
What is actually working
39 features shipped, each naming the endpoint behind it and checked against the running API as this page loaded. The last group is what does not work yet, because a list without it would be a sales page rather than a status page.
Engine8
| … | Live call websocket | 99ms to first audio, 20ms frames, three audio formats, server-authoritative turns | docs | /health |
| … | Speech to text | 40ms, 11 Indian languages, language identified with no code supplied | docs | /v1/models |
| … | Speech synthesis | 20 preset voices, RTF 0.83, emotion tags, Indian number formatting | docs | /v1/models |
| built | Semantic turn detection | Ends a turn at 82ms when the sentence is clearly finished. 24% of turns | docs | |
| built | Live partial transcripts | Captions while the caller is still talking. 42ms cost, zero cost to the final text | docs | |
| built | Barge-in | Interrupt at 200ms, gated at three words so backchannel does not cut it off | docs | |
| built | One voice across languages | Hindi to Tamil mid-call, same speaker. 0.818 on speaker similarity | docs | |
| built | Pronunciation dictionary | Spell a name in the target script so it is not read by guesswork | docs |
Build10
| … | Saved, versioned agents | Immutable versions, rollback in one click, a live call pinned to its version | open → · docs | /v1/agents |
| … | Settings schema | 51 settings read out of the engine, so the form cannot drift from the product | docs | /v1/config-schema |
| built | Knowledge base | PDF, DOCX, TXT. An English document answers a Tamil caller. 100% Recall@3 | open → · docs | |
| built | Custom HTTP tools | Reach your systems mid-call. Private and link-local addresses refused | docs | |
| built | Variables and extraction | Fill the prompt per caller; pull facts back out after the call | docs | |
| built | Call goals | Scored against the transcript afterwards. Met, not met, or unclear | docs | |
| built | Test call in the browser | Your microphone, the same 8kHz mu-law path a phone call uses | open → | |
| … | Write an agent from a sentence | Describe the business, get a prompt written for a phone call. Six settings, validated before you see them | open → · docs | /v1/config-schema |
| built | Five templates | Payment reminder, delivery helpdesk, abandoned cart, appointment reminder, lead qualification | open → · docs | |
| … | Voice picker you can hear | Preset voices with a listen button, or upload a recording and the agent speaks in that person's voice. Auditioned through a simulated phone line, which is what your callers hear | open → · docs | /v1/models |
Calls6
| built | Lifecycle hooks | Called before the call for variables, after it with everything the call produced | docs | |
| built | Transfer to a person | The agent asks for a handover and says the line while your provider bridges | docs | |
| partial | Voicemail detection | Beep and phrase detection, deliberately reluctant. Reports rather than hangs up Thresholds are reasoned, not fitted to real Indian voicemail recordings | ||
| built | Nudges and call limits | Prompt a caller who has gone quiet; hang up on a call that never ends | docs | |
| built | Recordings | Both sides on one timeline, mixed so real overlap is audible. Off by default | open → · docs | |
| … | Call log and transcripts | Every call, its transcript, extracted values and goal verdict | open → · docs | /v1/calls |
Telephony6
| … | Twilio, Exotel, Plivo inbound | Point a number at an agent. Format negotiated, 100ms frames split to 20ms | open → · docs | /v1/phone-numbers |
| … | Number routing | +91…, 91… and 0… all reach the same agent | open → · docs | /v1/phone-numbers |
| … | Outbound through your account | Your credentials, encrypted at rest. Your number, your minutes | open → · docs | /v1/provider-accounts |
| … | Campaigns | CSV in, calls out. 09:00–21:00 IST enforced, retries, do-not-call at dial time | open → · docs | /v1/campaigns |
| … | Call one number now | One dial, no campaign. Still refuses a suppressed number. Also the button for hearing an agent on a real handset | open → · docs | /v1/provider-accounts |
| … | Caller-ID rotation | Spread a campaign across several numbers, round-robin and exactly even, so none gets flagged as spam | open → · docs | /v1/provider-accounts |
Measure6
| … | Analytics | Success over calls that have a goal, latency as percentiles, daily trend | open → · docs | /v1/analytics/summary |
| … | Transcript search | Full text across every call, and it works in Devanagari and Tamil | open → · docs | /v1/analytics/search?q=test |
| built | Failure analyser | Reads the calls that missed their goal and groups them by root cause | open → · docs | |
| … | Signed webhooks | HMAC over timestamp and body, retried over 20 minutes, every attempt logged | open → · docs | /v1/webhooks/events |
| … | Saved boards | A question about your calls, saved. Stores the filters, never a stale snapshot of the answer | open → · docs | /v1/boards |
| partial | Usage | Minutes, calls and goal rate for your line, counted from real rows in the call log Usage, not billing. There is no invoice, no payment method and no metered price | open → · docs | /v1/analytics/summary |
Account5
| … | Accounts and isolation | Two customers on one deployment cannot see each other. 44 checks | open → | /v1/me |
| … | Sign in | Your password goes to the identity provider, never to us, so we cannot log or leak one | open → | /v1/auth/config |
| … | API keys | Create and revoke. Revocation is immediate; the row stays for the audit trail | open → | /v1/api-keys |
| … | Call recordings | Stored off the call path and served to a browser by short-lived signed link | docs | /v1/calls |
| built | No rate limits | 216 requests including 30-way parallel, zero 429s, zero 503s | docs |
Not done yet4
| blocked | Your own cloned voice | Tested and rejected: cross-language similarity 0.149 against a 0.213 stranger floor Rejected on measured quality, not schedule. See the limits page for the numbers | docs | |
| blocked | Roles and read-only keys | Today a key is full account access, which is right for one person and wrong for a team Accounts are isolated from each other; it is within an account that there is one level | docs | |
| blocked | India-hosted calls | Our compute is not in India yet, so audio makes a longer trip than it will Adds roughly 200ms for an Indian caller, and it is why we cannot answer data residency yet | docs | |
| partial | ASR hotwords | Bias transcription toward your product and person names Built and unit-tested, not yet wired into the transcriber | docs |
How to read the badgeslive means the endpoint answered just now. built means the feature exists but has no endpoint a browser can probe without a key. partial and blocked are explained on the row. A 401 counts as live — the endpoint was reached and refused us, which is correct behaviour and all an unauthenticated check can establish.