Upload Media

Uploads an audio file interaction into storage for processing.

Param name "file"

Audio file uploaded from client (required unless signedUrl is provided).

Valid Audio File Extensions:

  • .wav
  • .mp3
  • .mp4
  • .ogg
  • .opus
  • .m4a

Valid Chat File Extensions:

  • .tar
  • .zip

Param name "signedUrl"

Optional signed download URL. If provided, the server downloads the file from this URL instead of using multipart upload. Supports signed URLs from AWS S3, Azure Blob Storage, etc.

Example: "https://bucket.s3.amazonaws.com/path/to/file.mp3?X-Amz-Algorithm=..." or "https://storage.azure.com/container/blob?sv=..."

Param name "metadata"

JSON dictionary containing multiple metadata fields about the Audio File:

Required Fields:

  • FileName:
    Path containing file name and extension (extension must match the uploaded file). Subdirectories specifying a more exact path may be prepended to the file name.
    Examples:
    -- With subdirectories: "topfolder/subfolder/subsubfolder/filename.mp3"
    -- Without subdirectories: "filename.mp3"
  • UploadType:
    Type indicating if you are uploding a chat or audio file.
    Examples:
    -- "Chat"
    -- "Audio"

Optional Fields:

  • CallDirection:
    Direction of the interaction's call to or from the call center.
    Examples:
    -- "Inbound"
    -- "Outbound"
  • Name:
    Name associated with interaction.
    Example:
    -- "Alice"
  • Phone:
    Phone number associated with interaction.
    Example:
    --"800-555-5555"
  • Email:
    Email address associated with interaction.
    Example:
    --"[email protected]"
  • AgentFirstName:
    Agent's First Name associated with interaction.
    Example:
    --"James"
  • AgentLastName:
    Agent's Last Name associated with interaction.
    Example:
    --"Bond"
  • AgentCode:
    Agent Code for associating agent already in system with interaction.
    Example:
    --"007"
  • InteractionDate:
    Date on which interaction occured.
    ISO-8601 Examples:
    --UTC datetime: "2022-03-18T21:52:26"
    --UTC datetime with milliseconds: "2022-03-18T21:52:26.8816090Z"
    --UTC date only: "2022-03-19"
    --datetime with timezone: "2022-03-18T17:56:09.8683110-04:00"
  • ExtendedMetadata: [Deprecated - ("Use ExtendedMetadataValues")]
    Array of Dictionaries of key values associated with interaction.
    Examples:
    -- [{ "Data": "Example Data"}, { "Data2": "Example Data 2", "ExampleKey": "Example Value" }]
  • ExtendedMetadataValues:
    Dictionary of key values associated with interaction.
    Examples:
    -- { "Data": "Example Data" }, { "Data2": "Example Data 2" }, { "ExampleKey": "Example Value" }
  • HierarchyId:
    Id of hierarchy to associate with this interaction.
    Example:
    -- "00000000-0000-0000-0000-000000000002"
  • HierarchyCode:
    Internal Organization Code for associating hierarchy with this interaction.
    Example:
    -- "Accounting"
  • ApplyHierarchyToAgent:
    If true AND a HierarchyId / HierarchyCode are provided, the system assigns that hierarchy to the agent .
    Example:
    -- true
  • LocaleId:
    Specifies the language of the interaction using a locale ID. Defaults to 1033 (English) if omitted.
  • ClientCallId:
    Your external telephony reference ID.
    Example:
    -- "5CD1S"
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

This endpoint accepts audio recordings (.wav, .mp3, .mp4, .ogg, .opus, .m4a) or batch chat archives (.tar, .zip) and submits them for processing and AI analysis. Audio interactions are routed through a transcription and AI analysis pipeline; batch chat archives are unpacked and processed individually downstream.

If you want to assign the interaction to a hierarchy node, you'll need either a HierarchyId (from GET /Hierarchy) or your org's HierarchyCode.


Common next steps after a POST /Media/Upload/ call:

  • Check processing status - Poll GET /Metadata/ filtering by this Id to see when the interaction has moved from Processing to a completed state.
  • Retrieve AI analysis results - Once processed, call GET /ModelResults/ with the interaction ID to retrieve classifier scores and model outputs.
  • Retrieve transcripts - For audio uploads, call GET /Conversations/Transcriptions/ to get the transcript once transcription is complete.
  • Retrieve conversation insights - Call GET /Conversations/Insights/ for structured insight data derived from the interaction.
Body Params
file
string
required
string
Responses

400

One of the following errors occured: the file provided had an invalid extension, no metadata was provided,
provided metadata was malformed, provided metadata had no FileName, an interaction with the provided file name
already exists.

Language
Credentials
OAuth2
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
*/*