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 characters
  • muteUserUntilFirstBotResponse, allowInterruptions, waitForUserToSpeakFirst
  • interruptionBackoffTimer (0–10 seconds)
  • smartTurnConfig — smart turn detection with isEnabled + waitTimeInSecs (0–10)
  • voiceDetectionConfig — VAD tuning (confidence, minVolume, triggerTimeInSecs, releaseTimeInSecs)
  • voiceMailDetectionConfig — voicemail detection with custom endText (max 200 chars)
  • denoisingConfig, redactionConfig (PII redaction in transcripts)
  • pronunciationDicts — array of {word, pronunciation} overrides
  • llmIdleTimeoutConfig — separate timeouts for chat/webcall/telephony (1–300s) plus maxRetries
  • sessionTimeoutConfigtimeoutTimeInSecs (max 3600, default 1800)
  • timezone — IANA label plus offset in 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.

Agent versioning guide