---
title: "Upload a file"
method: POST
path: "/v1/speech-analytics"
tags: ["Speech Analytics"]
---

# Upload a file

`POST /v1/speech-analytics`

Uploads an audio file for transcription. Transcription is asynchronous; Wavix sends a POST callback to `callback_url` when it completes, including the `request_id` returned by this request.

Callback body:
```json
   {
        "request_id": "e865ea07-25af-4fdd-876e-04b0d41d5ebd",
        "status": "completed",
        "error": null
   }
```

- `request_id`: ID of the transcription request.
- `status`: One of `completed` (transcription succeeded) or `failed` (transcription encountered an error).
- `error`: Error description, or `null` when the transcription succeeded.

## Response `200`

Returns the transcription `request_id` for the uploaded file.

- object
  - `file` string, required — Uploaded file name.
  - `request_id` string, required — Transcription request ID.
  - `success` boolean, required — Indicates whether the request was successful.

## Other responses

- `400` — Request failed. Missing or invalid parameter <param_name>
- `422` — Validation error

---

[API](https://skmtc.net/wavix/apis/wavix-apis.md) · [All operations](https://skmtc.net/wavix/apis/wavix-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wavix/wavix-apis/versions/b22f170488b6/schema)
