Skip to main content
GET
/
v1
/
batch
/
jobs
/
{jobId}
Get batch job
curl --request GET \
  --url https://api.batch.slng.ai/v1/batch/jobs/{jobId} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.batch.slng.ai/v1/batch/jobs/{jobId}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.batch.slng.ai/v1/batch/jobs/{jobId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.batch.slng.ai/v1/batch/jobs/{jobId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.batch.slng.ai/v1/batch/jobs/{jobId}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.batch.slng.ai/v1/batch/jobs/{jobId}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.batch.slng.ai/v1/batch/jobs/{jobId}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "job_id": "myjob123",
  "status": "DONE",
  "model_code": "slng/speechmatics/batch:15.0.0",
  "job_config": {
    "type": "transcription",
    "transcription_config": {
      "language": "en",
      "operating_point": "standard",
      "diarization": "none"
    },
    "tracking": {
      "title": "Meeting",
      "reference": "ref-123"
    }
  },
  "input_metadata": {
    "size_bytes": 1543210,
    "duration_seconds": 312.4,
    "format": "wav",
    "mime_type": "audio/wav"
  },
  "output_metadata": {},
  "error_message": null,
  "submitted_at": "2026-04-13T12:00:00Z",
  "started_at": "2026-04-13T12:00:05Z",
  "completed_at": "2026-04-13T12:01:30Z",
  "deleted_at": null,
  "expired_at": null,
  "updated_at": "2026-04-13T12:01:30Z"
}
{
"error": "job_id must be alphanumeric"
}
{
"error": "API key id not found"
}
{
"error": "Job not found"
}
{
"error": "Internal server error"
}

Authorizations

Authorization
string
header
required

API key from the SLNG dashboard.

Path Parameters

jobId
string
required

The alphanumeric job identifier.

Pattern: ^[a-zA-Z0-9]+$

Response

Job detail.

A batch transcription job.

job_id
string
required

Alphanumeric job identifier.

status
enum<string>
required

Public-facing job status.

Available options:
QUEUED,
IN_PROGRESS,
DECODING,
POST_PROCESSING,
DONE,
FAILED,
DELETED
api_key_id
string

API key that submitted the job. May differ from the API key used to call this endpoint when the job was created via the dashboard.

organisation_id
string<uuid>

Organisation that owns the job.

model_code
string

Model used (e.g. slng/speechmatics/batch:15.0.0).

job_config
object

Full job-config object as submitted (type, transcription_config, optional tracking, output_config).

input_metadata
object

Measured input file properties (size_bytes, duration_seconds, format, mime_type, source).

output_metadata
object

Measured output properties (populated on completion).

error_message
object | null

Error envelope for FAILED jobs. Otherwise null.

submitted_at
string<date-time>

When the job was created.

started_at
string<date-time> | null

When processing began.

completed_at
string<date-time> | null

When the job reached a terminal state.

deleted_at
string<date-time> | null

When the job was deleted.

expired_at
string<date-time> | null

When the job was expired.

updated_at
string<date-time>

Last row update.