SMS campaigns

Send an SMS campaign

Send a draft SMS campaign. Omit scheduled_at to use the draft's saved send time when it is still in the future (otherwise it sends now), pass null to send now, or a time to schedule it. API sends run the same checks as the dashboard: plan, schedule window, carrier registration and content rules, topic, and sending limits. Anything that blocks the send returns 409 with each reason in error.details[]: field names the request field to fix (template_id, segment_id, sender_id, topic_id) and code the reason (e.g. template_not_published). A sender registered for a non-marketing use case returns 422 use_case_mismatch, and a daily sending limit returns 429 with Retry-After. Consent and recipient-local quiet hours are applied per recipient: people without marketing consent are skipped, and messages that would land in quiet hours wait for the window to open. Requires the campaigns:send capability.

post/sms/campaigns/{id}/send

Request

  • Base URL: https://www.unitpost.com/api/v1
  • URL: https://www.unitpost.com/api/v1/sms/campaigns/{id}/send
  • Auth: HTTP bearer

Request body

scheduled_atstring date-time nullable

Response

The SMS campaign, now scheduled.

object'sms_campaign' required
idstring required
namestring required
status'draft' | 'scheduled' | 'sending' | 'paused' | 'sent' | 'canceled' | 'failed' required
type'marketing' | 'transactional' required
template_idstring required
segment_idstring required
sender_idstring nullable required
topic_idstring nullable required
routing'automatic' | 'fixed' | 'pool' required
scheduled_atstring nullable required
recipient_countnumber required
variable_fallbacksobject required
excluded_contact_idsstring[] required
started_atstring nullable required
completed_atstring nullable required
canceled_atstring nullable required
created_atstring required
updated_atstring required

Changes

No recorded changes to this operation across all 1 revision of this API.