***

title: tap
slug: /reference/python/rest/calling/tap
description: Tap call audio to an external endpoint via REST.
max-toc-depth: 3
---------------------

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

Start tapping audio from an active call and sending it to an external endpoint
(e.g., a WebSocket or RTP destination). Returns a `control_id` for stopping
the tap.

<EndpointSchemaSnippet endpoint="POST /api/calling/calls" />

## **Response Example**

<EndpointResponseSnippet endpoint="POST /api/calling/calls" />

## **Example**

```python {9}
from signalwire.rest import RestClient

client = RestClient(
    project="your-project-id",
    token="your-api-token",
    host="your-space.signalwire.com",
)

result = client.calling.tap(
    call_id="call-id-xxx",
    tap={"type": "audio", "params": {"direction": "both"}},
    device={"type": "ws", "params": {"uri": "wss://example.com/tap"}},
)
control_id = result.get("control_id")
```