> For the complete documentation index, see [llms.txt](https://docs.eseye.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eseye.com/api-reference/sms/overview.md).

# Overview

Send and receive SMS messages with the SMS API.

The Eseye SMS API lets you send Mobile Terminated (MT) SMS messages to AnyNet and third-party SIMs. You can:

* Send an SMS message to a destination MSISDN.
* Cancel a queued or undelivered message.
* Check the delivery status of a message.
* Send delivery receipts to an endpoint you control.

### Base URL

Send production requests to:

```
https://messaging.eseye.com
```

All requests must use HTTPS.

### Access and authentication

The SMS API is a paid service. Messages are charged according to the rates in your SMS API contract.

Request access and pricing by emailing [orders@eseye.com](mailto:orders@eseye.com?subject=Request%20SMS%20API%20pricing). Include your company name, role, phone number, and email address.

Eseye provides an SMS API username and password. Include these credentials as form fields in every request:

```
username=<username>
password=<password>
```

SMS API requests use the following content type:

```http
Content-Type: application/x-www-form-urlencoded
```

The SMS API does not use an OAuth 2.0 bearer token.

{% hint style="warning" %}
Keep your SMS API credentials secure. Do not commit them to source control, expose them in client-side applications, or include them in logs.
{% endhint %}

### SMS behaviour and limitations

* Mobile Terminated SMS messages are sent from the network to a device.
* The destination must be supplied as an MSISDN.
* A message can contain either `text` or `short_message`.
* When both fields are provided, `text` takes priority.
* The `text` field supports 7-bit or 8-bit transport.
* The `short_message` field contains hex-encoded message data.
* Assign a unique `message_id` when sending a message if you need to track, cancel, or check its status.
* A message can only be cancelled before it is delivered.
* An optional `expiry` value controls when an undelivered message expires. Enter the value in `YYYY-MM-DD hh:mm:ss` format.
* An optional `receipt_url` identifies the endpoint that receives the delivery receipt.
* When `source` is empty, the AnyNet Messaging Service sends the message.
* Successful requests return an XML response rather than JSON.
* SMS API usage is charged according to your contract.

### Support

Contact [Eseye Support](mailto:support@eseye.com?subject=SMS%20API%20support%20request) for SMS API assistance.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.eseye.com/api-reference/sms/overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
