Skip to main content
GET
/
api
/
v1
/
outbound
/
batches
/
{batch_id}
Typescript (SDK)
import { SyllableSDK } from "syllable-sdk";

const syllableSDK = new SyllableSDK({
  apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "",
});

async function run() {
  const result = await syllableSDK.outbound.batches.getById({
    batchId: "<id>",
  });

  console.log(result);
}

run();
{
  "batch_id": "<string>",
  "campaign_id": 123,
  "last_updated_by": "<string>",
  "expires_on": "2026-04-02T00:00:00Z",
  "paused": true,
  "status": "PENDING",
  "upload_filename": "LATE_PAYMENTS_20250401.csv",
  "dispatch_id": "5ac42327fbd7e03b441650b79ae91ae1",
  "created_at": "2023-11-07T05:31:56Z",
  "deleted_at": "2026-04-01T00:00:00Z",
  "deleted_reason": "User request",
  "last_updated_at": "2026-04-01T00:00:00Z",
  "error_message": "Invalid file format",
  "status_counts": {
    "CANCELED": 7,
    "CONNECTED": 100,
    "DUPLICATE": 5,
    "FAILED": 10,
    "INITIATED": 20,
    "PENDING": 10
  },
  "detailed_status_counts": {
    "CONNECTED": {
      "counts": {
        "COMPLETED": 95,
        "NO-ANSWER": 5
      },
      "total_count": 100
    },
    "PENDING": {
      "counts": {
        "PENDING": 8,
        "SENT": 2
      },
      "total_count": 10
    },
    "QUEUED": {
      "total_count": 200
    }
  }
}

Authorizations

Syllable-API-Key
string
header
required

Path Parameters

batch_id
string
required

Response

Successful Response

batch_id
string
required

Unique ID for conversation batch

Example:

"20260401.9"

campaign_id
integer
required

Unique ID for campaign

Example:

1

last_updated_by
string
required

Email of user who last updated campaign

Example:

"user@email.com"

expires_on
string<date-time> | null

Timestamp of batch expiration

Example:

"2026-04-02T00:00:00Z"

paused
boolean | null

Whether the batch is on HOLD. When on HOLD, no outreach will be made.

Example:

true

status
enum<string>
default:PENDING

Status of batch

Available options:
PENDING,
ACTIVE,
PAUSED,
FAILED,
CANCELED,
EXPIRED
Examples:

"PENDING"

"ACTIVE"

"PAUSED"

"FAILED"

"CANCELED"

"EXPIRED"

upload_filename
string | null

Name of file used to create batch

Example:

"LATE_PAYMENTS_20250401.csv"

dispatch_id
string | null

A unique identifier for dipatched job

Example:

"5ac42327fbd7e03b441650b79ae91ae1"

created_at
string<date-time>

Timestamp of batch creation

Example:

"2026-04-01T00:00:00Z"

deleted_at
string<date-time> | null

Timestamp of batch deletion

Example:

"2026-04-01T00:00:00Z"

deleted_reason
string | null

Reason for batch deletion

Example:

"User request"

last_updated_at
string<date-time> | null

Timestamp of last change to batch

Example:

"2026-04-01T00:00:00Z"

error_message
string | null

Error message if batch upload failed

Example:

"Invalid file format"

status_counts
Status Counts · object

Counts of requests by status

Example:
{
"CANCELED": 7,
"CONNECTED": 100,
"DUPLICATE": 5,
"FAILED": 10,
"INITIATED": 20,
"PENDING": 10
}
detailed_status_counts
Detailed Status Counts · object

Per request_status: total count and optional counts by channel_manager_status

Example:
{
"CONNECTED": {
"counts": { "COMPLETED": 95, "NO-ANSWER": 5 },
"total_count": 100
},
"PENDING": {
"counts": { "PENDING": 8, "SENT": 2 },
"total_count": 10
},
"QUEUED": { "total_count": 200 }
}