---
title: "Upload Call Recording"
method: POST
path: "/uploaded-calls/upload"
tags: ["uploaded-calls"]
---

# Upload Call Recording

`POST /uploaded-calls/upload`

## Request

- Base URL: `https://dev.whispa.net` (the document declares no server; this is the origin it was published from)
- URL: `https://dev.whispa.net/uploaded-calls/upload`
- Auth: one of:
  - OAuth 2
    - Password
    - Token URL: `auth/bearer/login`
  - API key in cookie `access_token`

Upload and process a call recording (Admin only).

Accepts MP3 or WAV audio files (max 100MB). Transcription uses the
configured TELEPHONY_TRANSCRIPTION_PROVIDER vendor's batch API (ElevenLabs
Scribe v1, Deepgram Nova-3, or AssemblyAI). Summary and coaching feedback
are generated automatically.

Args:
    audio_file: Audio file (MP3 or WAV)
    assigned_user_id: Optional UUID of user to assign call to
    scenario_name: Optional scenario name to use for classification
    call_date: Optional ISO datetime string for when call was conducted

Returns:
    UploadCallResponse with session_id and transcript info

## Request body `multipart/form-data`

- BodyUploadedCallsUploadCallRecording
  - `audio_file` string, binary, required: Audio file (MP3 or WAV)
  - `assigned_user_id` string, nullable
  - `scenario_name` string, nullable
  - `call_date` string, nullable

## Response `200`

Successful Response

- UploadCallResponse: Response from uploading a call recording.
  - `session_id` string, uuid, required
  - `message` string, required
  - `transcript_length` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/whispa/apis/whispa-api.md) - [All operations](https://skmtc.dev/whispa/apis/whispa-api/llms.txt) - [OpenAPI document](https://skmtc.dev/whispa/apis/whispa-api/revisions/12c2e4aca43c?raw)
