Delete a job
https://eu1.asr.api.speechmatics.com/v2/jobs/{jobid}Delete a job and remove all associated resources.
Authentication
- bearerAuth
Authorization: Bearer <token>Your API key, or a temporary key (JWT).
Path parameters
jobidstringID of the job to delete.
Query parameters
forceoptionalbooleanWhen set, a running job will be force terminated. When unset (default), a running job will not be terminated and request will return HTTP 423 Locked.
Responses
The job that was deleted.
jobJobDetailsDocument describing a job. JobConfig will be present in JobDetails returned for GET jobs/{id} request in SaaS and in Batch Appliance, but it will not be present in JobDetails returned as item in RetrieveJobsResponse in case of Batch Appliance.
created_atstring<date-time>The UTC date time the job was created.
data_namestringName of the data file submitted for job.
text_nameoptionalstringName of the text file submitted to be aligned to audio.
durationoptionalinteger≥ 0The file duration (in seconds). May be missing for fetch URL jobs.
idstringThe unique id assigned to the job.
statusenumone ofThe status of the job.
"running"The job is actively running.
"done"The job completed successfully.
"rejected"The job was accepted at first, but later could not be processed by the transcriber.
"deleted"The user deleted the job.
"expired"The system deleted the job. Usually because the job was in the
donestate for a very long time.configoptionalJobConfigJSON object that contains various groups of job configuration parameters. Based on the value of
type, a type-specific object such astranscription_configis required to be present to specify all configuration settings or parameters needed to process the job inputs as expected.If the results of the job are to be forwarded on completion,
notification_configcan be provided with a list of callbacks to be made; no assumptions should be made about the order in which they will occur.Customer specific job details or metadata can be supplied in
tracking, and this information will be available where possible in the job results and in callbacks.typeJobType"transcription"fetch_dataoptionalDataFetchConfigurlstringauth_headersoptionalstring[]A list of additional headers to be added to the input fetch request when using http or https. This is intended to support authentication or authorization, for example by supplying an OAuth2 bearer token.
fetch_textoptionalDataFetchConfigurlstringauth_headersoptionalstring[]A list of additional headers to be added to the input fetch request when using http or https. This is intended to support authentication or authorization, for example by supplying an OAuth2 bearer token.
transcription_configoptionalTranscriptionConfiglanguagestringLanguage model to process the audio input, normally specified as an ISO language code
domainoptionalstringRequest a specialized model based on 'language' but optimized for a particular field, e.g. 'finance' or 'medical'.
output_localeoptionalstringLanguage locale to be used when generating the transcription output, normally specified as an ISO language code
modeloptionalModel"standard""enhanced""melia-1"Specific model to use in transcription (previously called operating point).
operating_pointoptionalOperatingPoint"standard""enhanced""melia-1"additional_vocaboptionalobject[]≤ 20000 itemsList of custom words or phrases that should be recognized. Alternative pronunciations can be specified to aid recognition.
contentstringsounds_likeoptionalstring[]punctuation_overridesoptionalobjectControl punctuation settings.
sensitivityoptionalnumber<float>≥ 0, ≤ 1Ranges between zero and one. Higher values will produce more punctuation. The default is 0.5.
permitted_marksoptionalstring[]The punctuation marks which the client is prepared to accept in transcription output, or the special value 'all' (the default). Unsupported marks are ignored. This value is used to guide the transcription process.
diarizationoptional"none" | "speaker" | "channel"Specify whether speaker or channel labels are added to the transcript. The default is
none.- none: no speaker or channel labels are added.
- speaker: speaker attribution is performed based on acoustic matching; all input channels are mixed into a single stream for processing.
- channel: multiple input channels are processed individually and collated into a single transcript.
channel_diarization_labelsoptionalstring[]Transcript labels to use when using collating separate input channels.
enable_entitiesoptionalbooleanInclude additional 'entity' objects in the transcription results (e.g. dates, numbers) and their original spoken form. These entities are interleaved with other types of results. The concatenation of these words is represented as a single entity with the concatenated written form present in the 'content' field. The entities contain a 'spoken_form' field, which can be used in place of the corresponding 'word' type results, in case a spoken form is preferred to a written form. They also contain a 'written_form', which can be used instead of the entity, if you want a breakdown of the words without spaces. They can still contain non-breaking spaces and other special whitespace characters, as they are considered part of the word for the formatting output. In case of a written_form, the individual word times are estimated and might not be accurate if the order of the words in the written form does not correspond to the order they were actually spoken (such as 'one hundred million dollars' and '$100 million').
max_delay_modeoptional"fixed" | "flexible"Whether or not to enable flexible endpointing and allow the entity to continue to be spoken.
audio_filtering_configoptionalobjectConfiguration for limiting the transcription of quiet audio.
volume_thresholdoptionalnumber<float>≥ 0, ≤ 100Controls the lower limit of audio volume at which speech and audio events will be transcribed. If the volume limit is very low, then most sound will be passed to the speech recognition engine. Higher numbers will cut out increasing amounts of sound.
transcript_filtering_configoptionalobjectConfiguration for applying filtering to the transcription
remove_disfluenciesoptionalbooleanIf true, words that are identified as disfluencies will be removed from the transcript. If false (default), they are tagged in the transcript as 'disfluency'.
replacementsoptionalobject[]An array of objects defining custom replacements. Each replacement contains a pair of strings: the text to find
fromand the text to replace it withto.fromstringtostringspeaker_diarization_configoptionalobjectConfiguration for speaker diarization
prefer_current_speakeroptionalbooleanIf true, the algorithm will prefer to stay with the current active speaker if it is a close enough match, even if other speakers may be closer. This is useful for cases where we can flip incorrectly between similar speakers during a single speaker section.
speaker_sensitivityoptionalnumber<float>≥ 0, ≤ 1Controls how sensitive the algorithm is in terms of keeping similar speakers separate, as opposed to combining them into a single speaker. Higher values will typically lead to more speakers, as the degree of difference between speakers in order to allow them to remain distinct will be lower. A lower value for this parameter will conversely guide the algorithm towards being less sensitive in terms of retaining similar speakers, and as such may lead to fewer speakers overall. The default is 0.5.
get_speakersoptionalbooleanIf true, speaker identifiers will be returned at the end of transcript.
speakersoptionalSpeakersInputItem[]Use this option to provide speaker labels linked to their speaker identifiers. When passed, the transcription system will tag spoken words in the transcript with the provided speaker labels whenever any of the specified speakers is detected in the audio. A maximum of 50 speakers identifiers across all speakers can be provided.
labelstring≥ 1 charactersSpeaker label, which must not match the format used internally (e.g. S1, S2, etc)
speaker_identifiersArray<string<bytes>>≥ 1 itemsunique itemsnotification_configoptionalNotificationConfig[]urlstringThe url to which a notification message will be sent upon completion of the job. The job
idandstatusare added as query parameters, and any combination of the job inputs and outputs can be included by listing them incontents.If
contentsis empty, the body of the request will be empty.If only one item is listed, it will be sent as the body of the request with
Content-Typeset to an appropriate value such asapplication/octet-streamorapplication/json.If multiple items are listed they will be sent as named file attachments using the multipart content type.
If
contentsis not specified, thetranscriptitem will be sent as a file attachment nameddata_file, for backwards compatibility.If the job was rejected or failed during processing, that will be indicated by the status, and any output items that are not available as a result will be omitted. The body formatting rules will still be followed as if all items were available.
The user-agent header is set to
Speechmatics-API/2.0, orSpeechmatics API V2in older API versions.contentsoptionalenum[]Specifies a list of items to be attached to the notification message. When multiple items are requested, they are included as named file attachments.
methodoptional"post" | "put"The method to be used with http and https urls. The default is post.
auth_headersoptionalstring[]A list of additional headers to be added to the notification request when using http or https. This is intended to support authentication or authorization, for example by supplying an OAuth2 bearer token.
trackingoptionalTrackingDatatitleoptionalstringThe title of the job.
referenceoptionalstringExternal system reference.
tagsoptionalstring[]detailsoptionalobjectCustomer-defined JSON structure.
output_configoptionalOutputConfigsrt_overridesoptionalobjectParameters that override default values of srt conversion. max_line_length: sets maximum count of characters per subtitle line including white space. max_lines: sets maximum count of lines in a subtitle section.
max_line_lengthoptionalintegermax_linesoptionalintegertranslation_configoptionalTranslationConfigtarget_languagesstring[]≤ 5 itemslanguage_identification_configoptionalLanguageIdentificationConfigexpected_languagesoptionalstring[]low_confidence_actionoptional"allow" | "reject" | "use_default_language"Action to take if all of the predicted languages are below the confidence threshold
default_languageoptionalstringsummarization_configoptionalSummarizationConfigConfiguration options for summarization.
content_typeoptional"auto" | "informative" | "conversational"Choose from three options:
conversational- Best suited for dialogues involving multiple participants, such as calls, meetings or discussions. It focuses on summarizing key points of the conversation.informative- Recommended for more structured information delivered by one or more people, making it ideal for videos, podcasts, lectures, and presentations.auto- Automatically selects the most appropriate content type based on an analysis of the transcript.
summary_lengthoptional"brief" | "detailed"default: "brief"Determines the depth of the summary:
brief- Provides a succinct summary, condensing the content into just a few sentences.detailed- Provide a longer, structured summary. For conversational content, it includes key topics and a summary of the entire conversation. For informative content, it logically divides the audio into sections and provides a summary for each.
summary_typeoptional"paragraphs" | "bullets"sentiment_analysis_configoptionalSentimentAnalysisConfigtopic_detection_configoptionalTopicDetectionConfigtopicsoptionalstring[]auto_chapters_configoptionalAutoChaptersConfigaudio_events_configoptionalAudioEventsConfigtypesoptionalstring[]langoptionalstringOptional parameter used for backwards compatibility with v1 api
errorsoptionalJobDetailError[]Optional list of errors that have occurred in user interaction, for example: audio could not be fetched or notification could not be sent.
timestampstringmessagestring
Request
import { BatchClient } from "@speechmatics/batch-client";
const client = new BatchClient({ apiKey: "YOUR_API_KEY", appId: "my-app" });
const { job } = await client.deleteJob("JOB_ID");
console.log(job.status);
from speechmatics.batch import Client
with Client(api_key="YOUR_API_KEY") as client:
client.delete_job("JOB_ID")
API_KEY="YOUR_API_KEY"
JOB_ID="JOB_ID"
curl -L -X DELETE "https://eu1.asr.api.speechmatics.com/v2/jobs/${JOB_ID}" \
-H "Authorization: Bearer ${API_KEY}"
Responses
{
"job": {
"created_at": "2026-10-28T09:12:44.583Z",
"data_name": "example.wav",
"duration": 42,
"id": "dlbvi9xpzf",
"status": "deleted",
"config": {
"type": "transcription",
"transcription_config": {
"language": "en",
"model": "enhanced"
}
}
}
}{
"code": 401,
"error": "Permission Denied"
}{
"code": 404,
"error": "Job not found"
}{
"code": 410,
"error": "Job Expired"
}{
"code": 423,
"error": "Resource Locked"
}{
"code": 500,
"error": "Internal Server Error"
}