---
title: "template_send - SMS"
method: POST
path: "/streams/template_send"
tags: ["Streams Service"]
---

# template_send - SMS

`POST /streams/template_send`

Send a templated SMS to one or more recipients. Provide the message text once in `message_template` using `[placeholder]` tokens, then supply each recipient's values in `template_variables`.

- Set a default `sender` at the top level; override it per recipient if needed.
- Up to 250 recipients per request.
- Returns a batch `task_id` plus per-message identifiers; partial failures are reported inline.

**Authentication:** stream token in the `Authorization` header (see **Authentication** in the API Overview).

## Request body

- object
  - `sender` string — Default sender applied to all recipients.
  - `message_template` string, required — Template text with `[placeholder]` tokens, e.g. `Hi [first_name], your code is [code]`.
  - `recipients` object[], required — Recipients to send to (up to 250).
    - `internal_id` string — Your identifier for this recipient, echoed back.
    - `sender` string — Per-recipient sender override.
    - `recipient_phone` string, required — Recipient phone number in international format, digits only.
    - `template_variables` object — Values substituted into the template placeholders for this recipient.

## Response `200`

The batch was accepted for delivery.

- object
  - `status` boolean — `true` when the batch was accepted. Individual messages may still carry an `error`.
  - `task_id` string — Identifier for the accepted batch (processed asynchronously).
  - `messages` object[] — One entry per submitted message, in request order.
    - `internal_id` string — The `internal_id` you supplied, echoed back.
    - `message_uuid` string — Platform-assigned unique identifier for the message.
    - `conversation_uuid` string — The conversation this message belongs to.
    - `error` string — Present only when this message failed: the hex error code (e.g. `0x31`). See Error handling in the Overview.
    - `details` string — Human-readable detail for a failed message.

---

[API](https://skmtc.net/commpeak/apis/dialer-api-v2-0-1.md) · [All operations](https://skmtc.net/commpeak/apis/dialer-api-v2-0-1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/commpeak/dialer-api-v2-0-1/versions/eacecf960bb6/schema)
