---
title: "Send a Viber transactional template message"
method: POST
path: "/viber/transactional/messages"
tags: ["Viber transactional"]
---

# Send a Viber transactional template message

`POST /viber/transactional/messages`

Send an **approved** BM transactional template (transactional **or** OTP category).

## Headers

- `Authorization` string, required
- `Content-Type` string, required

## Request body

- ViberTransactionalSendRequest
  - `senderInfoTrackingId` string, required
  - `to` string, required — E.164 MSISDN with leading +.
  - `templateId` string, required
  - `templateLang` string, required
  - `templateParams` object — Placeholder map. OTP-category templates must include pin.
  - `deliveryScope` 'PRIMARY_DEVICE' | 'ALL_DEVICES'
  - `seq` integer
  - `ttl` integer
  - `inboundUrl` string, uri
  - `callbackUrl` string, uri
  - `label` string
  - `multipleSinglesMessageId` string
  - `sessionMessage` boolean

## Response `200`

Message accepted for processing

- ViberTransactionalSendResponse
  - `trackingId` string
  - `to` string
  - `from` string
  - `deliveryScope` string
  - `seq` integer
  - `status` object
    - `status` string
    - `date` string
  - `price` number

## Other responses

- `400` — Validation error (including code 400019029 with validationIssues)
- `403` — Insufficient role or OAuth scope (`transactional_email` required)
- `404` — Message not found for this account

---

[API](https://skmtc.net/routee/apis/auth.md) · [All operations](https://skmtc.net/routee/apis/auth/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/routee/auth/revisions/5cef04e8f7d8/schema)
