***

title: Calling
slug: /reference/python/rest/calling
description: REST-based call control namespace with 37 commands for managing active calls.
max-toc-depth: 3
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

[restclient]: /docs/server-sdks/reference/python/rest/client

[dial]: /docs/server-sdks/reference/python/rest/calling/dial

[update]: /docs/server-sdks/reference/python/rest/calling/update

[end]: /docs/server-sdks/reference/python/rest/calling/end

[transfer]: /docs/server-sdks/reference/python/rest/calling/transfer

[disconnect]: /docs/server-sdks/reference/python/rest/calling/disconnect

[play]: /docs/server-sdks/reference/python/rest/calling/play

[playpause]: /docs/server-sdks/reference/python/rest/calling/play-pause

[playresume]: /docs/server-sdks/reference/python/rest/calling/play-resume

[playstop]: /docs/server-sdks/reference/python/rest/calling/play-stop

[playvolume]: /docs/server-sdks/reference/python/rest/calling/play-volume

[record]: /docs/server-sdks/reference/python/rest/calling/record

[recordpause]: /docs/server-sdks/reference/python/rest/calling/record-pause

[recordresume]: /docs/server-sdks/reference/python/rest/calling/record-resume

[recordstop]: /docs/server-sdks/reference/python/rest/calling/record-stop

[collect]: /docs/server-sdks/reference/python/rest/calling/collect

[collectstop]: /docs/server-sdks/reference/python/rest/calling/collect-stop

[collectstartinputtimers]: /docs/server-sdks/reference/python/rest/calling/collect-start-input-timers

[detect]: /docs/server-sdks/reference/python/rest/calling/detect

[detectstop]: /docs/server-sdks/reference/python/rest/calling/detect-stop

[tap]: /docs/server-sdks/reference/python/rest/calling/tap

[tapstop]: /docs/server-sdks/reference/python/rest/calling/tap-stop

[stream]: /docs/server-sdks/reference/python/rest/calling/stream

[streamstop]: /docs/server-sdks/reference/python/rest/calling/stream-stop

[denoise]: /docs/server-sdks/reference/python/rest/calling/denoise

[denoisestop]: /docs/server-sdks/reference/python/rest/calling/denoise-stop

[transcribe]: /docs/server-sdks/reference/python/rest/calling/transcribe

[transcribestop]: /docs/server-sdks/reference/python/rest/calling/transcribe-stop

[livetranscribe]: /docs/server-sdks/reference/python/rest/calling/live-transcribe

[livetranslate]: /docs/server-sdks/reference/python/rest/calling/live-translate

[aimessage]: /docs/server-sdks/reference/python/rest/calling/ai-message

[aihold]: /docs/server-sdks/reference/python/rest/calling/ai-hold

[aiunhold]: /docs/server-sdks/reference/python/rest/calling/ai-unhold

[aistop]: /docs/server-sdks/reference/python/rest/calling/ai-stop

[sendfaxstop]: /docs/server-sdks/reference/python/rest/calling/send-fax-stop

[receivefaxstop]: /docs/server-sdks/reference/python/rest/calling/receive-fax-stop

[refer]: /docs/server-sdks/reference/python/rest/calling/refer

[userevent]: /docs/server-sdks/reference/python/rest/calling/user-event

The `CallingNamespace` provides REST-based call control through the
[`RestClient`][restclient]. All 37 commands are dispatched
as POST requests to a single endpoint (`/api/calling/calls`) with a `command` field
identifying the operation.

Access via `client.calling` on a [`RestClient`][restclient] instance.

<Note>
  Unlike the RELAY client which uses persistent WebSocket connections, the Calling namespace
  sends each command as an independent HTTP request. This is suitable for server-side
  orchestration where you do not need real-time event streams.
</Note>

## **Methods**

### Call Lifecycle

<CardGroup cols={3}>
  <Card title="dial" href="/docs/server-sdks/reference/python/rest/calling/dial">
    Initiate a new outbound call via REST.
  </Card>

  <Card title="update" href="/docs/server-sdks/reference/python/rest/calling/update">
    Update parameters on an active call via REST.
  </Card>

  <Card title="end" href="/docs/server-sdks/reference/python/rest/calling/end">
    End an active call via REST.
  </Card>
</CardGroup>

### Call Control

<CardGroup cols={2}>
  <Card title="transfer" href="/docs/server-sdks/reference/python/rest/calling/transfer">
    Transfer an active call to a new destination via REST.
  </Card>

  <Card title="disconnect" href="/docs/server-sdks/reference/python/rest/calling/disconnect">
    Disconnect (unbridge) a connected call without ending either leg via REST.
  </Card>
</CardGroup>

### Media and Playback

<CardGroup cols={3}>
  <Card title="play" href="/docs/server-sdks/reference/python/rest/calling/play">
    Play audio or text-to-speech on an active call via REST.
  </Card>

  <Card title="play_pause" href="/docs/server-sdks/reference/python/rest/calling/play-pause">
    Pause an active playback on a call via REST.
  </Card>

  <Card title="play_resume" href="/docs/server-sdks/reference/python/rest/calling/play-resume">
    Resume a paused playback on a call via REST.
  </Card>

  <Card title="play_stop" href="/docs/server-sdks/reference/python/rest/calling/play-stop">
    Stop an active playback on a call via REST.
  </Card>

  <Card title="play_volume" href="/docs/server-sdks/reference/python/rest/calling/play-volume">
    Adjust the volume of an active playback on a call via REST.
  </Card>
</CardGroup>

### Recording

<CardGroup cols={3}>
  <Card title="record" href="/docs/server-sdks/reference/python/rest/calling/record">
    Start recording an active call via REST.
  </Card>

  <Card title="record_pause" href="/docs/server-sdks/reference/python/rest/calling/record-pause">
    Pause an active recording on a call via REST.
  </Card>

  <Card title="record_resume" href="/docs/server-sdks/reference/python/rest/calling/record-resume">
    Resume a paused recording on a call via REST.
  </Card>

  <Card title="record_stop" href="/docs/server-sdks/reference/python/rest/calling/record-stop">
    Stop an active recording on a call via REST.
  </Card>
</CardGroup>

### Input Collection

<CardGroup cols={3}>
  <Card title="collect" href="/docs/server-sdks/reference/python/rest/calling/collect">
    Collect user input (DTMF or speech) on an active call via REST.
  </Card>

  <Card title="collect_stop" href="/docs/server-sdks/reference/python/rest/calling/collect-stop">
    Stop an active input collection on a call via REST.
  </Card>

  <Card title="collect_start_input_timers" href="/docs/server-sdks/reference/python/rest/calling/collect-start-input-timers">
    Manually start input timers for a collection on a call via REST.
  </Card>
</CardGroup>

### Detection

<CardGroup cols={2}>
  <Card title="detect" href="/docs/server-sdks/reference/python/rest/calling/detect">
    Start detection (answering machine, fax, DTMF) on a call via REST.
  </Card>

  <Card title="detect_stop" href="/docs/server-sdks/reference/python/rest/calling/detect-stop">
    Stop an active detector on a call via REST.
  </Card>
</CardGroup>

### Audio Tap

<CardGroup cols={2}>
  <Card title="tap" href="/docs/server-sdks/reference/python/rest/calling/tap">
    Tap call audio to an external endpoint via REST.
  </Card>

  <Card title="tap_stop" href="/docs/server-sdks/reference/python/rest/calling/tap-stop">
    Stop an active audio tap on a call via REST.
  </Card>
</CardGroup>

### Audio Streaming

<CardGroup cols={2}>
  <Card title="stream" href="/docs/server-sdks/reference/python/rest/calling/stream">
    Stream call audio to a WebSocket endpoint via REST.
  </Card>

  <Card title="stream_stop" href="/docs/server-sdks/reference/python/rest/calling/stream-stop">
    Stop an active audio stream on a call via REST.
  </Card>
</CardGroup>

### Noise Reduction

<CardGroup cols={2}>
  <Card title="denoise" href="/docs/server-sdks/reference/python/rest/calling/denoise">
    Enable noise reduction on an active call via REST.
  </Card>

  <Card title="denoise_stop" href="/docs/server-sdks/reference/python/rest/calling/denoise-stop">
    Disable noise reduction on an active call via REST.
  </Card>
</CardGroup>

### Transcription and Translation

<CardGroup cols={3}>
  <Card title="transcribe" href="/docs/server-sdks/reference/python/rest/calling/transcribe">
    Start transcribing speech on an active call via REST.
  </Card>

  <Card title="transcribe_stop" href="/docs/server-sdks/reference/python/rest/calling/transcribe-stop">
    Stop an active transcription on a call via REST.
  </Card>

  <Card title="live_transcribe" href="/docs/server-sdks/reference/python/rest/calling/live-transcribe">
    Start live transcription with partial results on a call via REST.
  </Card>

  <Card title="live_translate" href="/docs/server-sdks/reference/python/rest/calling/live-translate">
    Start live translation on an active call via REST.
  </Card>
</CardGroup>

### AI Session Control

<CardGroup cols={3}>
  <Card title="ai_message" href="/docs/server-sdks/reference/python/rest/calling/ai-message">
    Send a message to an active AI session on a call via REST.
  </Card>

  <Card title="ai_hold" href="/docs/server-sdks/reference/python/rest/calling/ai-hold">
    Put an active AI session on hold via REST.
  </Card>

  <Card title="ai_unhold" href="/docs/server-sdks/reference/python/rest/calling/ai-unhold">
    Resume a held AI session on a call via REST.
  </Card>

  <Card title="ai_stop" href="/docs/server-sdks/reference/python/rest/calling/ai-stop">
    Stop an active AI session on a call via REST.
  </Card>
</CardGroup>

### Fax

<CardGroup cols={2}>
  <Card title="send_fax_stop" href="/docs/server-sdks/reference/python/rest/calling/send-fax-stop">
    Stop an in-progress fax send operation on a call via REST.
  </Card>

  <Card title="receive_fax_stop" href="/docs/server-sdks/reference/python/rest/calling/receive-fax-stop">
    Stop an in-progress fax receive operation on a call via REST.
  </Card>
</CardGroup>

### SIP

<CardGroup cols={2}>
  <Card title="refer" href="/docs/server-sdks/reference/python/rest/calling/refer">
    Send a SIP REFER to transfer a call at the SIP level via REST.
  </Card>
</CardGroup>

### Custom Events

<CardGroup cols={2}>
  <Card title="user_event" href="/docs/server-sdks/reference/python/rest/calling/user-event">
    Send custom user-defined events on an active call via REST.
  </Card>
</CardGroup>