Skip to main content
POST
Upload Recording

Overview

Uploads an audio recording file for a specific appointment. The file is stored securely and the appointment is moved into the transcribing state so that transcription begins automatically. Only one recording may exist per appointment. If a recording already exists, the upload is rejected. You must be the appointment’s owning doctor to upload a recording.
Only one recording can be uploaded per appointment. If a recording already exists, the upload is rejected with Recording already exists.

Authentication

string
required
Bearer JWT token. The calling user is derived from the token; there is no uid parameter.

Path Parameters

string
required
The appointment ObjectId to associate the recording with. The caller must be this appointment’s owning doctor.

Body Parameters

The request body must be multipart/form-data.
file
required
The audio recording file to upload. Maximum size 500 MB.
string
default:"live"
Origin of the recording. Accepted values: live (default), upload (a pre-recorded audio file), and online_meeting. The source determines which plan feature is required; if your plan does not include the relevant capability the request is rejected with a 403 FEATURE_NOT_AVAILABLE response.

Response

boolean
required
Indicates whether the recording was uploaded successfully.
object
The created recording record.
Additional fields (for example duration_seconds, merged_recording, replaced_recording, __v) may appear on the recording object. Treat any field not documented here as opaque.

Example Request

Example Response

Success (200)

Error Responses

401 Unauthorized
403 Feature Not Available
403 Forbidden (not the owning doctor)
400 No File Uploaded
400 Recording Already Exists
The Unauthorized response uses the message field, whereas handler-level errors use the error field. A session ended on another device returns 401 { "success": false, "message": "Session ended on this device because you signed in elsewhere.", "code": "SESSION_REVOKED" }.

Behavior Notes

  • One recording per appointment: A second upload for the same appointment is rejected with Recording already exists.
  • Ownership: Only the appointment’s owning doctor can upload a recording; otherwise the request returns 403 Forbidden.
  • Automatic transcription: On success the appointment status is set to transcribing and transcription begins automatically. When transcription completes the status advances to processing.
  • File size limit: Uploads larger than 500 MB are rejected.