Agent draft-config — 14 missing fields documented + synthesizer sampleRate
Agent draft-config — 14 missing fields documented + synthesizer sampleRate
The PATCH /atoms/v1/agent/{id}/drafts/{draftId}/config request body now documents the conversation-control, voice-detection, timeout, and pronunciation fields that were already accepted by the platform but missing from the spec:
firstMessage— first message the agent sends; max 500 charactersmuteUserUntilFirstBotResponse,allowInterruptions,waitForUserToSpeakFirstinterruptionBackoffTimer(0–10 seconds)smartTurnConfig— smart turn detection withisEnabled+waitTimeInSecs(0–10)voiceDetectionConfig— VAD tuning (confidence,minVolume,triggerTimeInSecs,releaseTimeInSecs)voiceMailDetectionConfig— voicemail detection with customendText(max 200 chars)denoisingConfig,redactionConfig(PII redaction in transcripts)pronunciationDicts— array of{word, pronunciation}overridesllmIdleTimeoutConfig— separate timeouts for chat/webcall/telephony (1–300s) plusmaxRetriessessionTimeoutConfig—timeoutTimeInSecs(max 3600, default 1800)timezone— IANAlabelplusoffsetin minutes from UTC
The synthesizer schema also gains sampleRate (8000, 16000, 24000, 44100).
All fields are optional — a draft save may include any subset. Existing drafts and the POST /campaign request body shape are unchanged.
The deleteAgent operation now points to its real path: DELETE /agent/{id}/archive. The previously documented DELETE /agent/{id} returned 404 because the route does not exist. SDK method name (deleteAgent) is unchanged.
A new CI workflow (api-spec-live-test) now runs on every PR that touches fern/apis/atoms/**, fern/apis/waves/openapi/lightning-v3.1*, or fern/apis/waves/openapi/pulse-stt*. It creates a dummy agent, PATCHes every documented CreateAgentRequest field, asserts the platform’s diff endpoint reports the change, then exercises deleteAgent — catching the same class of silent drift this PR fixed.

