Skip to main content
Manage bulk SMS campaigns that send messages to audience contacts. Related APIs:

Types


API Endpoints

Base path: /sms-programs

Request/Response Types


Create a new SMS program

Response:
Error Responses:

List all SMS programs

Response:

Get SMS program by ID with progress information

Response:
Error Responses:

Update an SMS program

Error Responses:

Delete an SMS program

Error Responses:

Launch an SMS program

Notes:
  • Only programs in draft status can be launched
  • Requires sufficient credits - estimated cost = contacts × 1.887
  • If insufficient credits, returns InsufficientCreditsError
  • On success, status transitions to pending, then sending when job starts
  • Credits are deducted at campaign completion
Response:
Error Responses:

Cancel a running SMS program

Notes:
  • Only programs in pending or sending status can be cancelled
  • Best-effort cancellation - some messages may still be sent
  • Already sent messages are not affected
  • Credits for already sent messages are still charged
Error Responses:

Billing

SMS programs use the same cost as SMS nodes in call flows: Pre-launch credit check:
  • Before launching, the system calculates: estimatedCost = contactCount × 1.887
  • If balance < estimatedCost, launch is rejected with InsufficientCreditsError
  • Unlike calls (which can go negative due to unpredictable duration), SMS programs require credits upfront
Billing at completion:
  • Credits are deducted at campaign completion based on actual messages sent
  • Transaction type in credit history: sms_charge
  • Failed messages are not charged

Status Lifecycle