---
title: "Send SMS V2"
method: POST
path: "/v2/sms/send"
tags: ["SMS Notifications and Promotions"]
---

# Send SMS V2

`POST /v2/sms/send`

## Request

- Base URL: `https://api.verihubs.com`
- URL: `https://api.verihubs.com/v2/sms/send`
- Auth: none declared. Required headers: `App-ID`, `API-Key`

SMS OTP version change is by introducing a new API version release.<br>

Version changes usually need to be applied immediately to the latest version, in order to get a better API usage experience than the previous version.<br>

The benefits you get if you use a newer version are as follows.
- Decreasing processing time in API Request and Response
- Improve feature in SMS: Blocking Request, Spam Check, Sequential Phone Number, and Blocked Numbers
- Increase RPS in SMS (before 30rps to 50rps)
- Better developer environment to support future developments
- Improve logging and monitoring on our side
- Improved dependencies and improved service stability<br>

This method helps you to send sms containing desired text to destination number<br>
Rate limit of 50 RPS is applied to SMS service. Verihubs also apply rate limit divided into several categories based on product. More explanation [link](https://docs.verihubs.com/docs/rate-limit)<br>
#### Callback Description
When you want to use callback_url payload, you only need to put for example 
```
your-callback-url.com/callback
```
Example callback that we'll send
```
your-callback-url.com/callback?session_id=d0f5fb5c-2d50-4d3f-aea7-20018ab15806&status=1
```

Payload       | Description          |
-----------|:---------------------|
session_id        | ID of the specific message            | 
status        | Latest status of the request             | 

#### Status Description
Status       | Name          | Description |
-----------|:---------------------|:-------------------------- |
0        | Requested            | SMS has been requested. |
1        | Delivered            | SMS has been delivered to destination number. This status will be charged. |
4        | Failed            | Operator cannot send SMS to destination number |
5        | Request Error            | Verihubs cannot reach Operator |
6        | Rejected          | Request rejected due to Too Many Requests |
7        | Undelivered             | SMS has not been delivered to destination number (response received from Operator). This status will be charged.                |
8        | No Delivery Report               | Delivered without Delivery Report from operator after certain period. This status will be charged.          |
9        | Blocked             | Destination Number has been blocked by Verihubs's system          |

## Headers

- `App-ID` string, required
- `API-Key` string, required

## Request body

- SendSms
  - `msisdn` string, required: Destination Phone Number. You need to include the international prefix number and also find your local prefix number [here.](https://docs.verihubs.com/docs/supported-local-operator-prefix)
  - `text` string, required: SMS Body. In the SMS Body, you must mention the brand name according to the Sender ID.
  - `premium` boolean: used for Transactional SMS (Text Message from Business to Customer that provides valuable information about their product, service or processes).
  - `callback_url` string: Optional. This URL will be called by the server when the desired event will occur. Callback will work if you use premium route

## Response `201`

Successful Response

- ResponseSendSms
  - `message` string, required: Message
  - `msisdn` unknown, required
  - `session_id` string, required: Generated ID which associated with verification request.
  - `segment_count` integer: Segment Count is the number of SMS segmentation which is calculated by the GSM-7 and UTF-16 encoding system based on the SMS content sent. This segment count becomes a reference for calculating the cost of using SMS services. More explanation [link](https://docs.verihubs.com/docs/sms-segment-count-explanation)

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `409`: Conflict
- `429`: Too Many Requests
- `500`: Internal Server Error

## Changes

- **2026-11-03** `c1a5653952bb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/verihubs/apis/sms-api-documentation/changes/v2/sms/send/post.md)

---

[API](https://skmtc.dev/verihubs/apis/sms-api-documentation.md) - [All operations](https://skmtc.dev/verihubs/apis/sms-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/verihubs/apis/sms-api-documentation/revisions/c1a5653952bb?raw)
