Feature Requests

Feature request for Structured Outputs: some way to reorder fields in the builder.
In an AI-type structured output, fields appear to be generated in schema property order (result keys come back in that order too). So a field whose definition depends on another field can get filled in before the value it depends on exists. Concrete: say you have issue_found (boolean) and issue_reason (enum, must be none when issue_found is false). If issue_reason sits earlier in the property list, you get results with issue_found: false plus a real reason populated — a combo that field's own description forbids. Nothing errors, the schema validates, every value is a legal enum member. Hit this three times on different field pairs before I clocked what was happening. You can set order via PATCH by sending the properties object in the sequence you want, but the builder has no reorder control, so raw API is the only path — and PATCH on schema is a whole-object replace, so you're rebuilding the entire schema by hand and any later dashboard edit can silently revert it. Why it seems worth building: it's a UI affordance over behavior that already exists, so no new backend semantics. And the failure mode is invisible — when you see a self-contradictory result you blame the extraction model, not field order. Evaluation schemas are inherently chained (reason fields gated by booleans, a rationale field you want written first, severity depending on category), so anyone building a serious one runs into it. Ask in priority order: drag-to-reorder in the builder; a docs line stating property order determines generation order; stretch goal, declared dependencies so ordering gets validated instead of hand-managed. Semi-related gap: the builder also can't define enum values for a string field — allowed values only live in the description prose, while the API accepts a real enum array. Same shape of thing, where the UI quietly produces a weaker schema than you think you're building. Anyone else run into the ordering behavior, or am I misreading the mechanism?
2
·
under review
V2 voices accept pronunciationDictionary but fail TTS on first LLM turn and silently switch voices
Attaching an 11labs pronunciationDictionary to a v2 voice (provider: vapi, version 2 — tested on Godfrey and Layla) is accepted by both the API and dashboard without error, but pronunciation dictionaries are only documented for v1 voices. At runtime the first LLM-generated turn fails TTS with invalid_input_message (WebSocket close 1006). Vapi then automatically falls back to a different voice for the rest of the call, with no visible indicator anywhere on the call page — the only way to detect it is digging into the call log for assistant.voice.requestFailed → assistant.voice.fallbackTriggered. The fixed firstMessage plays fine with the configured voice; the failure only affects LLM-generated speech. Repro: create a v2 vapi voice assistant, attach pronunciationDictionary: [{ provider: "11labs", pronunciationDictId: "<id>" }], place a call — greeting is fine, first caller turn → bot replies in a different voice. Requested: reject pronunciationDictionary on v2 voices at save time (or ignore it gracefully), and surface voice-fallback events somewhere visible (call page / event log) so a mid-call voice change isn't silent. Evidence: A/B across 8+ calls — every assistant with the dict fails on every call (invalid_input_message → fallbackTriggered, close 1006); identical assistants without it never fail. Example failing: 01a01676, 01a0167a; clean (no dict): 01a0166d, 15aafa9c calls.
0
Load More