---
title: "Gather using audio"
method: POST
path: "/calls/{call_control_id}/actions/gather_using_audio"
tags: ["Call Commands"]
---

# Gather using audio

`POST /calls/{call_control_id}/actions/gather_using_audio`

Play an audio file on the call until the required DTMF signals are gathered to build interactive menus.

You can pass a list of valid digits along with an 'invalid_audio_url', which will be played back at the beginning of each prompt. Playback will be interrupted when a DTMF signal is received. The `Answer command must be issued before the `gather_using_audio` command.

**Expected Webhooks:**

- `call.playback.started`
- `call.playback.ended`
- `call.dtmf.received` (you may receive many of these webhooks)
- `call.gather.ended`

## Path parameters

- `call_control_id` string, required

## Request body

- GatherUsingAudioRequest
  - `audio_url` string — The URL of a file to be played back at the beginning of each prompt. The URL can point to either a WAV or MP3 file. media_name and audio_url cannot be used together in one request.
  - `media_name` string — The media_name of a file to be played back at the beginning of each prompt. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file.
  - `invalid_audio_url` string — The URL of a file to play when digits don't match the `valid_digits` parameter or the number of digits is not between `min` and `max`. The URL can point to either a WAV or MP3 file. invalid_media_name and invalid_audio_url cannot be used together in one request.
  - `invalid_media_name` string — The media_name of a file to be played back when digits don't match the `valid_digits` parameter or the number of digits is not between `min` and `max`. The media_name must point to a file previously uploaded to api.telnyx.com/v2/media by the same user/organization. The file must either be a WAV or MP3 file.
  - `minimum_digits` integer — The minimum number of digits to fetch. This parameter has a minimum value of 1.
  - `maximum_digits` integer — The maximum number of digits to fetch. This parameter has a maximum value of 128.
  - `maximum_tries` integer — The maximum number of times the file should be played if there is no input from the user on the call.
  - `timeout_millis` integer — The number of milliseconds to wait for a DTMF response after file playback ends before a replaying the sound file.
  - `terminating_digit` string — The digit used to terminate input if fewer than `maximum_digits` digits have been gathered.
  - `valid_digits` string — A list of all digits accepted as valid.
  - `inter_digit_timeout_millis` integer — The number of milliseconds to wait for input between digits.
  - `client_state` string — Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.
  - `command_id` string — Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.

## Response `200`

Successful response upon making a call control command.

- object
  - `data` CallControlCommandResult
    - `result` string

## Other responses

- `422` — Unprocessable entity. The request was well-formed but could not be processed due to semantic errors. This includes validation errors, invalid parameter values, call state errors, conference errors, queue errors, recording/transcription errors, and business logic violations.
- `default` — Unexpected error

---

[API](https://skmtc.net/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/versions/8f5f4e537994/schema)
