Voice - Internal

Call Lifecycle

Signal call connect / end.

call_started schedules at-start triggers, marks the call ongoing with its start timestamp, and broadcasts connection to the UI (the LLM websocket handler still owns the "Call started" memory message). call_ended broadcasts the hang-up, records end timestamp / duration / disconnection reason, marks the call ended in memory, and ends the conversation — which fires the in-house llm_analysis_schema analysis. end_conversation is idempotent, so this is safe even when the agent already ended the call itself.

Retell's webhook used to write these CallModel lifecycle fields; the voice service replaces that path, so we set them here (epoch-second timestamps and millisecond duration, matching the Retell column semantics the UI renders).

post/internal/voice/calls/{call_id}/lifecycle

Request

  • Base URL
    https://api.puppeteerai.com
  • Auth
    none declared. Required headers: X-Internal-Token

Path parameters

call_idstring required

Headers

X-Internal-Tokenstring required

Request body

event'call_started' | 'call_ended' required
disconnection_reasonstring nullable
latencyobject nullable

Response

Successful Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.