Route Mobile Message Sending API

APIs for submitting SMS messages.

Operations 7

GET /bulksms/bulksms Send SMS (Secured) #
GET /bulksms/schedulemsg Schedule SMS #
GET /bulksms/sbulksms Send Personalised SMS #
GET /bulksms/personalizedbulksms Send Unicode / Acculync SMS #
GET /bulksms/personalizedcustsms Send Personalised SMS with Acculync Tracking #
GET /bulksms/bulksubmit Submit SMS with Token #
POST /bulksms/jsonbulksms JSON Bulk SMS #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/route-mobile-message-sending-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

route-mobile-message-sending-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Route Mobile SMS Message Sending API
  description: 'Complete API reference for Route Mobile''s SMS platform. Covers message submission,

    OTP, account management, and third-party platform integrations.


    ## Authentication


    Most APIs authenticate via `username` and `password` query parameters.

    Third-party integration APIs (Moengage, Webengage) use a static `Authorization`

    header token provided by Route Mobile.


    ## Base URLs


    | URL | Description |

    |-----|-------------|

    | `https://api.rmlconnect.net` | Secured HTTPS (port 443) — recommended |

    | `https://api.rmlconnect.net:8443` | Secured HTTPS (port 8443) |

    | `http://api.rmlconnect.net` | Non-secured HTTP — legacy only |

    | `https://client.rmlconnect.net` | Client portal — coverage map only |


    ## Platform Response Codes


    SMS submission APIs return a plain text response with a platform status code prefix.


    | Code | Meaning |

    |------|---------|

    | 1701 | Success — `1701\|<CELL_NO>\|<MESSAGE_ID>` |

    | 1702 | Invalid URL / missing or blank parameter |

    | 1703 | Invalid username or password |

    | 1704 | Invalid value in `type` field |

    | 1705 | Invalid message |

    | 1706 | Invalid destination |

    | 1707 | Invalid source (Sender ID) |

    | 1708 | Invalid value in `dlr` field |

    | 1709 | User validation failed |

    | 1710 | Internal error |

    | 1025 | Insufficient credit |

    | 1715 | Response timeout |


    > **Retry Policy:** Do NOT retry for any error code except `1709`.

    > For `1715` specifically, do not re-submit the same message.

    '
  version: 1.0.0
  contact:
    name: Route Mobile Support
    email: support@routemobile.com
    url: https://developers.routemobile.com/
  x-readme:
    samples-languages:
    - curl
    - python
    - node
    - java
    - php
servers:
- url: https://api.rmlconnect.net
  description: SGN Secured (HTTPS - port 443) — recommended
- url: https://api.rmlconnect.net:8443
  description: SGN Secured (HTTPS - port 8443)
- url: http://api.rmlconnect.net
  description: SGN Non-secured (HTTP) — legacy only
- url: https://client.rmlconnect.net
  description: Client Portal — coverage map only
tags:
- name: Message Sending
  description: APIs for submitting SMS messages.
paths:
  /bulksms/bulksms:
    get:
      tags:
      - Message Sending
      summary: Send SMS (Secured)
      description: 'Submits a single SMS or a batch of SMS messages for delivery over HTTPS.

        Available on both port 443 and port 8443.


        **Long messages:** Messages exceeding standard length are automatically split

        and reassembled on the recipient device. Billing is per segment:

        - Plain text: 153 characters per segment

        - Unicode: 268 characters per segment


        **Bulk response format (multiple destinations):**

        ```

        <Error_Code>|<destination>|<message_id>,<Error_Code>|<destination>|<message_id>,...

        ```


        **Mid-batch abort scenarios:**

        - If any error other than an invalid destination occurs, the batch is aborted immediately.

        - If credits are exhausted mid-batch, processing stops and `1025|<last_destination>` is appended.


        > **Retry Policy:** Do NOT retry for any error code except `1709`.

        > For `1715`, do not re-submit the same message.

        '
      operationId: sendSmsSecured
      parameters:
      - name: username
        in: query
        required: true
        description: Account username.
        schema:
          type: string
      - name: password
        in: query
        required: true
        description: Account password.
        schema:
          type: string
          format: password
      - name: type
        in: query
        required: true
        description: 'Message encoding type.

          - `0` — Plain Text (GSM 3.38)

          - `1` — Flash Message (GSM 3.38)

          - `2` — Unicode (message must be UTF-16BE hex encoded)

          - `3` — Reserved

          - `4` — WAP Push (use the `url` parameter for the link)

          - `5` — Plain Text (ISO-8859-1)

          - `6` — Unicode Flash (message must be UTF-16BE hex encoded)

          - `7` — Flash Message (ISO-8859-1)

          '
        schema:
          type: integer
          enum:
          - 0
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          default: 0
      - name: dlr
        in: query
        required: true
        description: Delivery report flag. 1 = enable, 0 = disable.
        schema:
          type: integer
          enum:
          - 0
          - 1
          default: 1
      - name: destination
        in: query
        required: true
        description: 'Destination MSISDN(s). May include or omit the `+` prefix (URL-encode `+` as `%2B`).

          For multiple destinations, separate with commas (URL-encode commas as `%2C`).

          '
        schema:
          type: string
          example: '919999999999'
      - name: source
        in: query
        required: true
        description: 'Sender ID displayed to the recipient.

          - Max **18 characters** if numeric only

          - Max **11 characters** if alphanumeric


          To prefix a `+` sign, include it URL-encoded as `%2B`. Additional restrictions

          may be enforced by the SMSC.

          '
        schema:
          type: string
          maxLength: 18
          example: TESTSM
      - name: message
        in: query
        required: true
        description: 'Message content, URL-encoded (UTF-8).

          For Unicode messages (`type=2` or `type=6`), encode content in UTF-16BE hex format.

          For WAP Push (`type=4`), this is the display text of the push message.

          '
        schema:
          type: string
          example: Demo Message
      - name: url
        in: query
        required: false
        description: 'WAP Push link URL. **Required when `type=4`**, ignored for all other message types.

          Must be URL-encoded (UTF-8).

          '
        schema:
          type: string
          example: https://www.routemobile.com
      responses:
        '200':
          description: 'Platform response returned as plain text.


            | Code | Meaning |

            |------|---------|

            | 1701 | Success — response format: `1701\|<CELL_NO>\|<MESSAGE_ID>`. Use the Message ID to map delivery reports. |

            | 1702 | Invalid URL / one or more parameters missing or blank |

            | 1703 | Invalid username or password |

            | 1704 | Invalid value in `type` field |

            | 1705 | Invalid message content |

            | 1706 | Invalid destination number |

            | 1707 | Invalid source (Sender ID) |

            | 1708 | Invalid value in `dlr` field |

            | 1709 | User validation failed |

            | 1710 | Internal error |

            | 1025 | Insufficient credit |

            | 1715 | Response timeout |

            '
          content:
            text/plain:
              schema:
                type: string
              examples:
                Success:
                  value: 1701|919999999999|MID123456
                InvalidParameter:
                  value: '1702'
                AuthFailure:
                  value: '1703'
                InsufficientCredit:
                  value: '1025'
        '400':
          description: Bad request / missing parameters.
        '401':
          description: Authentication failure.
        '500':
          description: Internal server error. Please contact support if this persists.
  /bulksms/schedulemsg:
    get:
      tags:
      - Message Sending
      summary: Schedule SMS
      description: Schedule an SMS for delivery at a future date and time.
      operationId: scheduleSms
      parameters:
      - name: username
        in: query
        required: true
        description: Account username.
        schema:
          type: string
      - name: password
        in: query
        required: true
        description: Account password.
        schema:
          type: string
          format: password
      - name: message
        in: query
        required: true
        description: Message text content (URL-encoded).
        schema:
          type: string
          example: Test scheduled message
      - name: type
        in: query
        required: true
        description: 'Message encoding type.

          - `0` — Plain Text (GSM 3.38)

          - `1` — Flash Message (GSM 3.38)

          - `2` — Unicode (UTF-16BE hex encoded)

          - `3` — Reserved

          - `4` — WAP Push

          - `5` — Plain Text (ISO-8859-1)

          - `6` — Unicode Flash (UTF-16BE hex encoded)

          - `7` — Flash Message (ISO-8859-1)

          '
        schema:
          type: integer
          enum:
          - 0
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          default: 0
      - name: dlr
        in: query
        required: true
        description: Delivery report flag. 1 = enable, 0 = disable.
        schema:
          type: integer
          enum:
          - 0
          - 1
          default: 1
      - name: source
        in: query
        required: true
        description: 'Sender ID displayed to the recipient.

          - Max **18 characters** if numeric only

          - Max **11 characters** if alphanumeric

          '
        schema:
          type: string
          maxLength: 18
          example: TESTSM
      - name: destination
        in: query
        required: true
        description: Destination MSISDN in international format (without +).
        schema:
          type: string
          example: '919999999999'
      - name: scheduledate
        in: query
        required: true
        description: Scheduled delivery date in MM/DD/YYYY format.
        schema:
          type: string
          example: 08/01/2025
      - name: scheduletime
        in: query
        required: true
        description: Scheduled delivery time in HH:MM am/pm format (URL-encoded, e.g. `07:45%20pm`).
        schema:
          type: string
          example: 07:45 pm
      - name: gmt
        in: query
        required: true
        description: GMT offset for the scheduled time (URL-encoded, e.g. `GMT%20%2B5:30`).
        schema:
          type: string
          example: GMT +5:30
      responses:
        '200':
          description: 'Platform response returned as plain text.


            | Code | Meaning |

            |------|---------|

            | Scheduled\|`<scheduleId>` | Message successfully scheduled |

            | 1702 | Invalid URL / one or more parameters missing or blank |

            | 1703 | Invalid username or password |

            | 1704 | Invalid value in `type` field |

            | 1705 | Invalid message content |

            | 1706 | Invalid destination number |

            | 1707 | Invalid source (Sender ID) |

            | 1708 | Invalid value in `dlr` field |

            | 1709 | User validation failed |

            | 1710 | Internal error |

            | 1025 | Insufficient credit |

            '
          content:
            text/plain:
              schema:
                type: string
              examples:
                Success:
                  value: Scheduled|SCH123456
                InvalidParameter:
                  value: '1702'
                AuthFailure:
                  value: '1703'
        '400':
          description: Invalid date/time or parameter format.
        '401':
          description: Authentication failure.
        '500':
          description: Internal server error. Please contact support if this persists.
  /bulksms/sbulksms:
    get:
      tags:
      - Message Sending
      summary: Send Personalised SMS
      description: 'Send different message content to multiple destination numbers in a single API call.


        **Bulk response format:**

        ```

        <Error_Code>|<destination>|<message_id>,<Error_Code>|<destination>|<message_id>,...

        ```


        **Mid-batch abort:** If credits are exhausted mid-batch, processing stops and

        `1025|<last_destination>` is appended to the response.

        '
      operationId: sendPersonalisedSms
      parameters:
      - name: username
        in: query
        required: true
        description: Account username.
        schema:
          type: string
      - name: password
        in: query
        required: true
        description: Account password.
        schema:
          type: string
          format: password
      - name: source
        in: query
        required: true
        description: 'Sender ID displayed to the recipient.

          - Max **18 characters** if numeric only

          - Max **11 characters** if alphanumeric

          '
        schema:
          type: string
          maxLength: 18
          example: TESTSM
      - name: message
        in: query
        required: true
        description: Message content. Use the platform-defined delimiter to map distinct content to each destination in the list.
        schema:
          type: string
      - name: destination
        in: query
        required: true
        description: Comma-separated list of destination MSISDNs in international format (without +).
        schema:
          type: string
          example: 919999999999,919888888888
      - name: dlr
        in: query
        required: true
        description: Delivery report flag. 1 = enable, 0 = disable.
        schema:
          type: integer
          enum:
          - 0
          - 1
          default: 1
      - name: type
        in: query
        required: true
        description: 'Message encoding type.

          - `0` — Plain Text (GSM 3.38)

          - `1` — Flash Message (GSM 3.38)

          - `2` — Unicode (UTF-16BE hex encoded)

          - `3` — Reserved

          - `4` — WAP Push

          - `5` — Plain Text (ISO-8859-1)

          - `6` — Unicode Flash (UTF-16BE hex encoded)

          - `7` — Flash Message (ISO-8859-1)

          '
        schema:
          type: integer
          enum:
          - 0
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          default: 0
      responses:
        '200':
          description: 'Platform response returned as plain text. One result entry per destination.


            | Code | Meaning |

            |------|---------|

            | 1701 | Success — response format: `1701\|<CELL_NO>\|<MESSAGE_ID>` |

            | 1702 | Invalid URL / one or more parameters missing or blank |

            | 1703 | Invalid username or password |

            | 1704 | Invalid value in `type` field |

            | 1705 | Invalid message content |

            | 1706 | Invalid destination number |

            | 1707 | Invalid source (Sender ID) |

            | 1708 | Invalid value in `dlr` field |

            | 1709 | User validation failed |

            | 1710 | Internal error |

            | 1025 | Insufficient credit |

            | 1715 | Response timeout |

            '
          content:
            text/plain:
              schema:
                type: string
              examples:
                Success:
                  value: 1701|919999999999|MID123456,1701|919888888888|MID123457
                InvalidParameter:
                  value: '1702'
                AuthFailure:
                  value: '1703'
        '400':
          description: Bad request / parameter mismatch.
        '401':
          description: Authentication failure.
        '500':
          description: Internal server error. Please contact support if this persists.
  /bulksms/personalizedbulksms:
    get:
      tags:
      - Message Sending
      summary: Send Unicode / Acculync SMS
      description: 'Single endpoint for sending Unicode or English SMS messages with optional

        Acculync link tracking and URL shortening.


        **Plain Unicode/English SMS** — Pass only the core parameters

        (`username`, `password`, `source`, `destination`, `message`).

        Content is auto-detected and routed as Unicode or plain English accordingly.


        **Acculync Tracking SMS** — Additionally pass the Acculync parameters

        (`tagname`, `toshorten`, `tobeshorten`, `isCL`) to enable link shortening

        and click tracking.

        '
      operationId: sendUnicodeAcculyncSms
      parameters:
      - name: username
        in: query
        required: true
        description: Account username.
        schema:
          type: string
      - name: password
        in: query
        required: true
        description: Account password.
        schema:
          type: string
          format: password
      - name: source
        in: query
        required: true
        description: 'Sender ID displayed to the recipient.

          - Max **18 characters** if numeric only

          - Max **11 characters** if alphanumeric

          '
        schema:
          type: string
          maxLength: 18
      - name: destination
        in: query
        required: true
        description: Destination MSISDN(s) in international format (without +). Comma-separated for multiple.
        schema:
          type: string
          example: '919999999999'
      - name: message
        in: query
        required: true
        description: Message content. Unicode or English. URL-encoded. May contain placeholders for the shortened URL when using Acculync.
        schema:
          type: string
      - name: type
        in: query
        required: false
        description: 'Message encoding type.

          - `0` — Plain Text (GSM 3.38)

          - `1` — Flash Message (GSM 3.38)

          - `2` — Unicode (UTF-16BE hex encoded)

          - `5` — Plain Text (ISO-8859-1)

          - `6` — Unicode Flash (UTF-16BE hex encoded)

          - `7` — Flash Message (ISO-8859-1)

          '
        schema:
          type: integer
          enum:
          - 0
          - 1
          - 2
          - 5
          - 6
          - 7
          default: 0
      - name: tagname
        in: query
        required: false
        description: 'Acculync: Tag name for tracking / template identification.'
        schema:
          type: string
      - name: toshorten
        in: query
        required: false
        description: 'Acculync: Flag indicating whether the URL should be shortened.'
        schema:
          type: string
      - name: tobeshorten
        in: query
        required: false
        description: 'Acculync: The original long URL to be shortened.'
        schema:
          type: string
      - name: isCL
        in: query
        required: false
        description: 'Acculync: Click-tracking flag. 1 = enable click logging.'
        schema:
          type: integer
          enum:
          - 0
          - 1
          default: 1
      - name: udf1
        in: query
        required: false
        description: 'Acculync: User-defined field 1 for personalisation or tracking.'
        schema:
          type: string
      responses:
        '200':
          description: 'Platform response returned as plain text.


            | Code | Meaning |

            |------|---------|

            | 1701 | Success — response format: `1701\|<CELL_NO>\|<MESSAGE_ID>` |

            | 1702 | Invalid URL / one or more parameters missing or blank |

            | 1703 | Invalid username or password |

            | 1704 | Invalid value in `type` field |

            | 1705 | Invalid message content |

            | 1706 | Invalid destination number |

            | 1707 | Invalid source (Sender ID) |

            | 1709 | User validation failed |

            | 1710 | Internal error |

            | 1025 | Insufficient credit |

            | 1715 | Response timeout |

            '
          content:
            text/plain:
              schema:
                type: string
              examples:
                Success:
                  value: 1701|919999999999|MID123456
                InvalidParameter:
                  value: '1702'
                AuthFailure:
                  value: '1703'
        '400':
          description: Bad request / encoding or parameter error.
        '401':
          description: Authentication failure.
        '500':
          description: Internal server error. Please contact support if this persists.
  /bulksms/personalizedcustsms:
    get:
      tags:
      - Message Sending
      summary: Send Personalised SMS with Acculync Tracking
      description: Customer-personalised SMS submission with Acculync link shortening and click tracking over the secured 8443 endpoint.
      operationId: sendAcculyncSms
      parameters:
      - name: username
        in: query
        required: true
        description: Account username.
        schema:
          type: string
      - name: password
        in: query
        required: true
        description: Account password.
        schema:
          type: string
          format: password
      - name: source
        in: query
        required: true
        description: 'Sender ID displayed to the recipient.

          - Max **18 characters** if numeric only

          - Max **11 characters** if alphanumeric

          '
        schema:
          type: string
          maxLength: 18
      - name: destination
        in: query
        required: true
        description: Destination MSISDN(s) in international format (without +). Comma-separated for multiple.
        schema:
          type: string
      - name: type
        in: query
        required: true
        description: 'Message encoding type.

          - `0` — Plain Text (GSM 3.38)

          - `1` — Flash Message (GSM 3.38)

          - `2` — Unicode (UTF-16BE hex encoded)

          - `5` — Plain Text (ISO-8859-1)

          - `6` — Unicode Flash (UTF-16BE hex encoded)

          - `7` — Flash Message (ISO-8859-1)

          '
        schema:
          type: integer
          enum:
          - 0
          - 1
          - 2
          - 5
          - 6
          - 7
          default: 0
      - name: message
        in: query
        required: true
        description: Message content (URL-encoded).
        schema:
          type: string
      - name: tagname
        in: query
        required: true
        description: Tag name for tracking / template identification.
        schema:
          type: string
      - name: toshorten
        in: query
        required: true
        description: Flag indicating whether the URL should be shortened.
        schema:
          type: string
      - name: udf1
        in: query
        required: false
        description: User-defined field 1.
        schema:
          type: string
      - name: isCL
        in: query
        required: true
        description: Click-tracking flag. 1 = enable click logging.
        schema:
          type: integer
          enum:
          - 0
          - 1
          default: 1
      - name: tobeshorten
        in: query
        required: true
        description: The original long URL to be shortened.
        schema:
          type: string
      responses:
        '200':
          description: 'Platform response returned as plain text.


            | Code | Meaning |

            |------|---------|

            | 1701 | Success — response format: `1701\|<CELL_NO>\|<MESSAGE_ID>` |

            | 1702 | Invalid URL / one or more parameters missing or blank |

            | 1703 | Invalid username or password |

            | 1704 | Invalid value in `type` field |

            | 1705 | Invalid message content |

            | 1706 | Invalid destination number |

            | 1707 | Invalid source (Sender ID) |

            | 1708 | Invalid value in `dlr` field |

            | 1709 | User validation failed |

            | 1710 | Internal error |

            | 1025 | Insufficient credit |

            | 1715 | Response timeout |

            '
          content:
            text/plain:
              schema:
                type: string
              examples:
                Success:
                  value: 1701|919999999999|MID123456
                InvalidParameter:
                  value: '1702'
                AuthFailure:
                  value: '1703'
        '400':
          description: Bad request / parameter error.
        '401':
          description: Authentication failure.
        '500':
          description: Internal server error. Please contact support if this persists.
  /bulksms/bulksubmit:
    get:
      tags:
      - Message Sending
      summary: Submit SMS with Token
      description: 'Submit an SMS using a pre-generated authentication token instead of

        passing credentials with every request. Obtain the token from the

        Token Generation API.

        '
      operationId: submitSmsWithToken
      parameters:
      - name: token
        in: query
        required: true
        description: Authentication token obtained from the Token Generation API.
        schema:
          type: string
      - name: message
        in: query
        required: true
        description: Message text content (URL-encoded).
        schema:
          type: string
      - name: type
        in: query
        required: true
        description: 'Message encoding type.

          - `0` — Plain Text (GSM 3.38)

          - `1` — Flash Message (GSM 3.38)

          - `2` — Unicode (UTF-16BE hex encoded)

          - `3` — Reserved

          - `4` — WAP Push

          - `5` — Plain Text (ISO-8859-1)

          - `6` — Unicode Flash (UTF-16BE hex encoded)

          - `7` — Flash Message (ISO-8859-1)

          '
        schema:
          type: integer
          enum:
          - 0
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          default: 0
      - name: destination
        in: query
        required: true
        description: Destination MSISDN in international format (without +).
        schema:
          type: string
          example: '919999999999'
      - name: source
        in: query
        required: true
        description: 'Sender ID displayed to the recipient.

          - Max **18 characters** if numeric only

          - Max **11 characters** if alphanumeric

          '
        schema:
          type: string
          maxLength: 18
          example: TESTSM
      responses:
        '200':
          description: 'Platform response returned as plain text.


            | Code | Meaning |

            |------|---------|

            | 1701 | Success — response format: `1701\|<CELL_NO>\|<MESSAGE_ID>` |

            | 1702 | Invalid URL / one or more parameters missing or blank |

            | 1704 | Invalid value in `type` field |

            | 1705 | Invalid message content |

            | 1706 | Invalid destination number |

            | 1707 | Invalid source (Sender ID) |

            | 1709 | User validation failed / invalid or expired token |

            | 1710 | Internal error |

            | 1025 | Insufficient credit |

            | 1715 | Response timeout |

            '
          content:
            text/plain:
              schema:
                type: string
              examples:
                Success:
                  value: 1701|919999999999|MID123456
                InvalidParameter:
                  value: '1702'
                InvalidToken:
                  value: '1709'
                InsufficientCredit:
                  value: '1025'
        '401':
          description: Invalid or expired token.
        '500':
          description: Internal server error. Please contact support if this persists.
  /bulksms/jsonbulksms:
    post:
      tags:
      - Message Sending
      summary: JSON Bulk SMS
      description: 'Submit one or more SMS messages using a JSON request body. Suitable for

        bulk integrations where multiple submissions can be batched in a single call.


        **Bulk response format:**

        Each item in the response array corresponds to a message in the request.


        **Mid-batch abort:** If credits are exhausted mid-batch, processing stops

        and the remaining messages will not be submitted.

        '
      operationId: sendJsonBulkSms
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkSmsRequest'
            example:
              request:
              - username: your_username
                password: your_password
                source: TESTSM
                destination: '919999999999'
                type: '0'
                dlr: '1'
                message: Test JSON message
      responses:
        '200':
          description: 'Submission response. The `status` field in each array item contains the platform response code.


            | Code | Meaning |

            |------|---------|

            | 1701 | Success — use `messageid` to map delivery reports |

            | 1702 | Invalid URL / one or more parameters missing or blank |

            | 1703 | Invalid username or password |

            | 1704 | Invalid value in `type` field |

            | 1705 | Invalid message content |

            | 1706 | Invalid destination number |

            | 1707 | Invalid source (Sender ID) |

            | 1708 | Invalid value in `dlr` field |

            | 1709 | User validation failed |

            | 1710 | Internal error |

            | 1025 | Insufficient credit |

            | 1715 | Response timeout |

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: array
                    items:
                      type: object
                      properties:
                        messageid:
                          type: string
                          description: Unique message ID. Use this to map delivery reports.
                        mobileno:
                          type: string
                          description: Destination MSISDN.
                        status:
                          type: string
                          description: Platform response code. 1701 = success.
              examples:
                Success:
                  value:
                    response:
                    - messageid: MID123456
                      mobileno: '919999999999'
                      status: '1701'
                AuthFailure:
                  value:
                    response:
                    - messageid: ''
                      mobileno: '919999999999'
                      status: '1703'
        '400':
          description: Invalid JSON or parameter error.
        '401':
          description: Authentication failure.
        '500':
          description: Internal server error. Please contact support if this persists.
components:
  schemas:
    SmsItem:
      type: object
      required:
      - username
      - password
      - source
      - destination
      - type
      - dlr
      - message
      properties:
        username:
          type: string
          description: Account username.
        password:
          type: string
          format: password
          description: Account password.
        source:
          type: string
          description: Sender ID. Max 18 chars if numeric, max 11 chars if alphanumeric.
          maxLength: 18
        destination:
          type: string
          description: Destination MSISDN in international format (without +).
        type:
          type: string
          description: Message type. "0" = Plain (GSM 3.38), "1" = Flash, "2" = Unicode, "5" = Plain (ISO-8859-1), "6" = Unicode Flash, "7" = Flash (ISO-8859-1).
          enum:
          - '0'
          - '1'
          - '2'
          - '5'
          - '6'
          - '7'
        dlr:
          type: string
          description: Delivery report flag. "1" = enable, "0" = disable.
          enum:
          - '0'
          - '1'
        message:
          type: string
          description: Message text content.
    BulkSmsRequest:
      type: object
      required:
      - request
      properties:
        request:
          type: array
          items:
            $ref: '#/components/schemas/Sm

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/route-mobile/refs/heads/main/openapi/route-mobile-message-sending-api-openapi.yml