---
title: "POST /speech/v0/bulk-ingest"
method: POST
path: "/speech/v0/bulk-ingest"
tags: ["Speech"]
---

# POST /speech/v0/bulk-ingest

`POST /speech/v0/bulk-ingest`

Queues recordings for processing

## Request body

- RecordingMetadata[]
  - `call_identifier` string, required — Unique record identifier, typically the Universal Call ID (UCID)
  - `speech_file_name` string, required — The name of the recording file as uploaded to Medallia Managed File Transfer
  - `unit_identifier` string, required — ID of the agent that handled the call (typically the last agent the customer is transferred to if there are multiple agents). This must match the ID that is included in the organizational hierarchy for the agent. If no value is provided, either a default unit or "Unit Pending" will be used for the record.
  - `call_date_and_time` string, date-time, required — Interaction datetime in ISO-8601 format `yyyy-MM-DD'T'HH:mm:ssZZ` (e.g. 2021-03-22T11:30:00-08:00)
  - `call_recording_url` string, uri — URL of the call interaction recording, referencing an external system for linkage purposes (not used for call transcription processing)
  - `vertical_model` 'Call Center' | 'Financial Services' | 'Healthcare' | 'Voicemail' | 'Survey' | 'Large Vocab' | 'General' — Specific speech vertical model to use
  - `locale` string — Primary language spoken during the call, specified in a format compliant with [IETF BCP 47](https://tools.ietf.org/html/bcp47). This value is applied to both the agent and customer channels. (See `agent_locale` for further details.) The `engine` selected may or may not leverage this setting during its processing; please check with your Medallia specialist as per the `engine` configuration.
  - `agent_locale` string — The language of the agent spoken during the call, specified in a format compliant with [IETF BCP 47](https://tools.ietf.org/html/bcp47). If this is omitted, the `locale` language is used for the agent. If this is set, the `agent_locale` is used instead. This is only used when `engine` is set to "Engine 1".
  - `apply_diarization` 'Yes' | 'No' — Applies diarization (channel assignment based on vocal audio properties) to single-channel recordings
  - `agent_channel` '0' | '1' — The audio channel (when recorded in stereo) associated with the agent
  - `substitutions` object — A set of substitutions to apply to the transcribed text, in key/value format, where the key will be replaced by the value in transcription.
  - `oov` object — A set of custom vocabulary terms with optional soundouts. Accepts JSON dictionary and list formats, or a comma- delineated string of text. Custom vocabulary improves transcription for accuracy words that are not in the language model's standard vocabulary.
  - `apply_redaction` 'Yes' | 'No' — Applies redaction to the audio and transcribed text
  - `first_name` string — The first name of the customer.
  - `last_name` string — The last name of the customer.
  - `email` string, email — The email address of the customer.
  - `phone_number` string — The phone number of the customer, typically from ANI (Automatic Number Identification).
  - `connection_id` string — The unique identifier of a specific connection profile. This value does not typically need to be set. Please consult with your Medallia Speech specialist to determine if a value is required. This field has been deprecated since Medallia Experience Cloud version 22CR3.0, please use `connector_id` instead.
  - `profile_uuid` string — This field has been deprecated since Medallia Experience Cloud version 21CR3.0, please use `connection_id` instead.
  - `engine` 'Engine 1' | 'Engine 2' | 'Engine 3' — The Medallia Speech engine to use to perform the transcription processing. The value to use is determined by your Medallia Speech specialist during the initial audio analysis process while onboarding to Medallia Speech.
  - `connector_id` string, uuid — The unique identifier of a specific Speech Connector API as configured in Medallia Admin Suite. If set, the Speech data in the API request is routed through the Connector for processing, including for extra metadata available in `speech_additional_info`. This field was introduced with Medallia Experience Cloud 22CR3.0.
  - `speech_additional_info` object — Additional metadata to add to the Medallia Speech record. Mapping this data to the record is performed in setting up the Medallia Speech API Connector in Admin Suite. Use of this field requires setting a `connector_id`.

## Response `201`

Processing status of the submitted job request

- ProcessingResponse — Result of a processing request
  - `job_id` string, uuid — The job identifier generated by Medallia
  - `status` 'ACCEPTED' | 'PARTIALLY_ACCEPTED' | 'REJECTED' — The job processing status, either ACCEPTED or REJECTED (to indicate that all recordings were processed with the same result) or PARTIALLY_ACCEPTED (to indicate a mixed result)
  - `details` object[] — Details per metadata, when the status is PARTIALLY_ACCEPTED
    - `call_identifier` string, required — Unique record identifier
    - `speech_file_name` string, required — The name of the recording file as uploaded to Medallia Managed File Transfer
    - `status` 'ACCEPTED' | 'REJECTED', required — The processing status for the recording
    - `error_message` string — Details about the processing failure

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Object not found
- `406` — Not acceptable
- `409` — Request conflict with current state of the server
- `412` — Precondition failed
- `415` — Not supported
- `500` — Internal server error

---

[API](https://skmtc.dev/medallia/apis/import-api.md) · [All operations](https://skmtc.dev/medallia/apis/import-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/medallia/import-api/revisions/bbc021bd9a2d/schema)
