---
title: "Send SMS message"
method: POST
path: "/sms/2/text/advanced"
tags: ["channels", "sms", "outbound-sms", "send-message"]
---

# Send SMS message

`POST /sms/2/text/advanced`

## Request

- Base URL: `https://api.infobip.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.infobip.com/sms/2/text/advanced`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.infobip.com/auth/1/oauth2/token`
  - API key in header `Authorization`
  - API key in header `Authorization`
  - HTTP basic

Use this endpoint to send an SMS and set up a rich set of features, such as batch sending with a single API request, scheduling, URL tracking, language and transliteration configuration, etc. The API response will not contain the final delivery status, use [Delivery Reports](https://www.infobip.com/docs/api/channels/sms/sms-messaging/logs-and-status-reports/receive-outbound-sms-message-report) instead.\
In light of improved features, this endpoint has been superseded. Please visit [Send SMS message](#channels/sms/send-sms-messages) for the next version.

## Request body

- 1612e6f124bb6c5b1f4f7b12ca64104d59fdfdf779c97454e478b219583b9d48SMSAdvancedTextualRequest
  - `bulkId` string: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. If not provided, it will be auto-generated and returned in the API response. Typically, used to fetch [delivery reports](#channels/sms/get-outbound-sms-message-delivery-reports) and [message logs](#channels/sms/get-outbound-sms-message-logs). Anything above 100 characters passed in the request will be clipped during processing and returned in response, reports and logs.
  - `messages` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630SMSTextualMessage[], required: An array of message objects of a single message or multiple messages sent under one bulk ID.
    - `callbackData` string: Additional data that can be used for identifying, managing, or monitoring a message. Data included here will also be automatically included in the message [Delivery Report](#channels/sms/get-outbound-sms-message-delivery-reports). The maximum value is 4000 characters.
    - `deliveryTimeWindow` 87cf6d665490382407be009353007f071b1d6d4a375e96d31d3bf0b04b7fb3c7DeliveryTimeWindow: Sets specific SMS delivery window outside of which messages won't be delivered. Often, used when there are restrictions on when messages can be sent.
      - `days` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630DeliveryDay[], required: Days of the week which are included in the delivery time window. At least one day must be provided. Separate multiple days with a comma.
      - `from` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630DeliveryTimeFrom: The exact time of day to start sending messages. Time is expressed in the UTC time zone. If set, use it together with the `to` property with minimum 1 hour difference.
        - `hour` integer, required: Hour when the time window opens when used in the `from` property or closes when used in the `to` property.
        - `minute` integer, required: Minute when the time window opens when used in the `from` property or closes when used in the `to` property.
      - `to` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630DeliveryTimeTo: The exact time of day to end sending messages. Time is expressed in the UTC time zone. If set, use it together with the `from` property with minimum 1 hour difference.
        - `hour` integer, required: Hour when the time window opens when used in the `from` property or closes when used in the `to` property.
        - `minute` integer, required: Minute when the time window opens when used in the `from` property or closes when used in the `to` property.
    - `destinations` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630Destination[], required: An array of destination objects for where messages are being sent. A valid destination is required.
      - `messageId` string: The ID that uniquely identifies the message sent. Anything above 200 characters passed in the request will be clipped during processing and returned in response, reports and logs.
      - `to` string, required: Message destination address. Addresses must be in international format (Example: `41793026727`).
    - `flash` boolean: Allows for sending a [flash SMS](https://www.infobip.com/docs/sms/message-types#flash-sms) to automatically appear on recipient devices without interaction. Set to `true` to enable flash SMS, or leave the default value, `false` to send a standard SMS.
    - `from` string: The sender ID which can be alphanumeric or numeric (e.g., `CompanyName`). Make sure you don't exceed [character limit](https://www.infobip.com/docs/sms/get-started#sender-names).
    - `intermediateReport` boolean: The [real-time intermediate delivery report](#channels/sms/receive-outbound-sms-message-report) containing GSM error codes, messages status, pricing, network and country codes, etc., which will be sent on your callback server. Defaults to `false`.
    - `language` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630Language
      - `languageCode` string: [Language code](https://www.infobip.com/docs/sms/language#national-language-identifier) for the correct character set. `AUTODETECT` lets the platform select the character set based on message content only for supported languages.
    - `notifyContentType` string: Preferred delivery report content type, `application/json` or `application/xml`.
    - `notifyUrl` string: The URL on your call back server on to which a delivery report will be sent. The [retry cycle](https://www.infobip.com/docs/sms/sms-over-api#push-retry-cycle-notify-url) for when your URL becomes unavailable uses the following formula: `1min + (1min * retryNumber * retryNumber)`.
    - `regional` 87cf6d665490382407be009353007f071b1d6d4a375e96d31d3bf0b04b7fb3c7RegionalOptions: Region-specific parameters, often imposed by local laws. Use this, if country or region that you are sending an SMS to requires additional information.
      - `indiaDlt` 87cf6d665490382407be009353007f071b1d6d4a375e96d31d3bf0b04b7fb3c7IndiaDltOptions: Distributed Ledger Technology (DLT) specific parameters required for sending SMS to phone numbers registered in India.
        - `contentTemplateId` string: Registered DLT content template ID which matches message you are sending.
        - `principalEntityId` string, required: Your assigned DLT principal entity ID.
        - `telemarketerId` string: Your assigned Telemarketer ID. (required for Aggregators)
      - `turkeyIys` 87cf6d665490382407be009353007f071b1d6d4a375e96d31d3bf0b04b7fb3c7TurkeyIysOptions: IYS regulations specific parameters required for sending promotional SMS to phone numbers registered in Turkey.
        - `brandCode` integer: Brand code is an ID of the company based on a company VAT number. If not provided in request, default value is used from your Infobip account.
        - `recipientType` 'BIREYSEL' | 'TACIR', required: Recipient Type must be `TACIR` or `BIREYSEL`.
      - `southKorea` 87cf6d665490382407be009353007f071b1d6d4a375e96d31d3bf0b04b7fb3c7SouthKoreaOptions: Use case dependent parameters for sending SMS to phone numbers registered in South Korea.
        - `resellerCode` integer: Reseller identification code: 9-digit registration number in the business registration certificate for South Korea. Resellers should submit this when sending.
        - `title` string: Set the title or subject of a message. South Korea only.
    - `sendAt` string, date-time: Date and time when the message is to be sent. Used for [scheduled SMS](#channels/sms/get-scheduled-sms-messages). Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, and can only be scheduled for no later than 180 days in advance.
    - `text` string: Content of the message being sent.
    - `transliteration` string: The transliteration of your sent message from one script to another. [Transliteration](https://www.infobip.com/docs/sms/language#sms-transliteration) is used to replace characters which are not recognized as part of your defaulted alphabet. `ALL` means that the transliteration process will recognize all supported languages.
    - `validityPeriod` integer: The message validity period in minutes. When the period expires, it will not be allowed for the message to be sent. Validity period longer than 48h is not supported. Any bigger value will automatically default back to `2880`.
    - `entityId` string: Required for entity use in a send request for outbound traffic. Returned in notification events. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
    - `applicationId` string: Required for application use in a send request for outbound traffic. Returned in notification events. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
    - `campaignReferenceId` string: ID that allows you to track, analyze, and show an aggregated overview and the performance of individual campaigns per sending channel.
  - `sendingSpeedLimit` 87cf6d665490382407be009353007f071b1d6d4a375e96d31d3bf0b04b7fb3c7SendingSpeedLimit: Limits the send speed when sending messages in bulk to deliver messages over a longer period of time. You may wish to use this to allow your systems or agents to handle large amounts of incoming traffic, e.g., if you are expecting recipients to follow through with a call-to-action option from a message you sent. Not setting a send speed limit can overwhelm your resources with incoming traffic.
    - `amount` integer, required: The number of messages to be sent per timeUnit. By default, the system sends messages as fast as the infrastructure allows. Use this parameter to adapt sending capacity to your needs. The system is only able to work against its maximum capacity for ambitious message batches.
    - `timeUnit` 'MINUTE' | 'HOUR' | 'DAY': The time unit to define when setting a messaging speed limit. Defaults to `MINUTE`.
  - `urlOptions` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630UrlOptions: Sets up [URL shortening](https://www.infobip.com/docs/url-shortening) and tracking feature.
    - `shortenUrl` boolean: Enable shortening of the URLs within a message. Set this to `true`, if you want to set up other URL options.
    - `trackClicks` boolean: Enable tracking of short URL clicks within a message: which URL was clicked, how many times, and by whom.
    - `trackingUrl` string: The URL of your callback server on to which the Click report will be sent.
    - `removeProtocol` boolean: Remove a protocol, such as `https://`, from links to shorten a message. Note that some mobiles may not recognize such links as a URL.
    - `customDomain` string: Select a predefined custom domain to use when generating a short URL.
  - `tracking` 87cf6d665490382407be009353007f071b1d6d4a375e96d31d3bf0b04b7fb3c7Tracking: Sets up tracking parameters to track conversion metrics and type. This is a legacy feature not compatible with the `tracking` feature in latest [Send SMS message](#channels/sms/send-sms-messages) API.
    - `baseUrl` string: Custom base URL for shortened links in messages when tracking URL conversions. Legacy - use `urlOptions` instead.
    - `processKey` string: The process key which uniquely identifies conversion tracking.
    - `track` string: Indicates if a message has to be tracked for conversion rates. Values are: `SMS` and `URL`. `URL` is a legacy value. Use `urlOptions` instead. For more details on SMS Conversion, see: [Track Conversion](https://www.infobip.com/docs/sms/api#track-conversion).
    - `type` string: Sets a custom conversion type naming convention, e.g. `ONE_TIME_PIN` or `SOCIAL_INVITES`.
  - `includeSmsCountInResponse` boolean: Set to true to return smsCount in the response. Default is false. smsCount is the total count of SMS submitted in the request. SMS messages have a character limit and messages longer than that limit will be split into multiple SMS and reflected in the total count of SMS submitted.

## Response `200`

successful response

- 33e5f9b198702dad16ca1f81c1bb567a11b08d145013a25f78031b56a52d656bSMSResponse
  - `bulkId` string: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. Typically, used to fetch [delivery reports](#channels/sms/get-outbound-sms-message-delivery-reports) and [message logs](#channels/sms/get-outbound-sms-message-logs).
  - `messages` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630SMSResponseDetails[]: An array of message objects of a single message or multiple messages sent under one bulk ID.
    - `messageId` string: Unique message ID. If not passed, it will be automatically generated and returned in a response.
    - `status` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630Status: Indicates the [status](https://www.infobip.com/docs/essentials/response-status-and-error-codes#api-status-codes) of the message and how to recover from an error should there be any.
      - `groupId` integer: Status group ID.
      - `groupName` string: Status group name that describes which category the status code belongs to, e.g. PENDING, UNDELIVERABLE, DELIVERED, EXPIRED, REJECTED.
      - `id` integer: Status ID.
      - `name` string: [Status name](https://www.infobip.com/docs/essentials/response-status-and-error-codes).
      - `description` string: Human-readable description of the status.
      - `action` string: Action that should be taken to recover from the error.
    - `to` string: The destination address of the message.
    - `smsCount` integer: This is the total count of SMS submitted in the request. SMS messages have a character limit and messages longer than that limit will be split into multiple SMS and reflected in the total count of SMS submitted.

## Other responses

- `400`: Error responses
- `401`: Unauthorized
- `403`: Forbidden
- `500`: Internal Server Error

---

[API](https://skmtc.dev/infobip/apis/infobip-openapi-specification.md) - [All operations](https://skmtc.dev/infobip/apis/infobip-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/infobip/apis/infobip-openapi-specification/revisions/9dcbbaf902de?raw)
