---
title: "Voice reply (dictate or smart)"
url: https://docs.gleap.ai/en/reference/rest-api/voice-reply
method: POST
path: "/tickets/{ticketId}/voice-reply"
api: "API Reference"
tag: "Ticket"
operationId: "VoiceReply"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Voice reply (dictate or smart)

`POST https://api.gleap.io/v3/tickets/{ticketId}/voice-reply`

Process an operator's recorded audio for a ticket with one multimodal model call. `dictate` returns a verbatim transcript; `smart` treats the audio as spoken keywords and drafts a fluent reply using the ticket + conversation as context (no knowledge-base retrieval). The client uploads the audio via POST /uploads first and passes the resulting URL.

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Path parameters

- `ticketId` (string, required)

## Headers

- `project` (string, required)

## Request body (`application/json`, required)

- `audioUrl` (string, required): Public URL of the uploaded audio clip (from POST /uploads).
- `mode` (enum<string>, required): `dictate` returns the transcript; `smart` returns a drafted reply. One of: `dictate`, `smart`.

## Example request

```bash
curl --request POST \
  --url 'https://api.gleap.io/v3/tickets/{ticketId}/voice-reply' \
  --header 'Authorization: Bearer <token>' \
  --header 'project: <project>' \
  --header 'Content-Type: application/json' \
  --data '{
  "audioUrl": "<audioUrl>",
  "mode": "dictate"
}'
```

## Responses

### 200 (`application/json`)

Ok

- `reply` (string)
- `transcript` (string)

```json
{
  "reply": "string",
  "transcript": "string"
}
```
