# FAQ

{% hint style="info" %}
Ensure you are [authenticated](/getting-started/get-an-api-key.md) before making the below example requests to the Mobile Text Alerts API.
{% endhint %}

## How can I send a single “Hello World” message to myself?

You can send a message to your personal phone number for testing and verification. To do this, send a request to the <mark style="color:blue;">`/send`</mark> endpoint with the phone number in the `subscribers` field and the test message in the `message` field.

**Example request:**

{% code overflow="wrap" %}

```sh
curl --location 'https://api.mobile-text-alerts.com/v3/send' \
  --header 'Authorization: Bearer <APIKey>' \
  --header 'Content-Type: application/json' \
  --data '{"subscribers": [1112223333],"message": "Hello World"}'
```

{% endcode %}

See [Send a Message](/getting-started/send-a-message.md) to learn more.

{% hint style="warning" %}
Trial accounts and unverified phone numbers are restricted to only sending [templated message](/tutorials/message-sending/message-templates.md) content. [Click here](https://mobile-text-alerts.deskpro.com/kb/articles/phone-number-verification) to learn how to get a verified number and start sending your own content.
{% endhint %}

## Can the MTA API be used to send 2FA/MFA verification codes?

Yes, the Mobile Text Alerts SMS Verification API provides an easy way to manage SMS multi-factor authentication workflows within your application. There are endpoints for verification code generation, SMS message delivery, and validation of user-supplied codes. See [Generate and validate 2FA / MFA codes via SMS](/use-cases/generate-and-validate-2fa-mfa-codes-via-sms.md) to learn more.

## What information is available in response to an API call to send a message?

A successful request will provide the following information in the response:

* `messageId` - the unique ID of the message
* `totalSent` - the total number of message recipients
* `totalFailedInternationalRecipients` - the total number of failed recipients with non-US phone numbers
* `message` - a summary of request results

See [Send a Message](/getting-started/send-a-message.md#how-to-build-a-sample-request-to-the-api) to learn more about the request and response data for the `/send` endpoint.

## How do I schedule a message to be sent in the future?

You can indicate when a message will be sent by including the `scheduledDate` request field when calling the <mark style="color:blue;">`/send`</mark> endpoint. This allows you to use [ISO 8601 format](https://www.iso.org/iso-8601-date-and-time-format.html) to specify the exact send date and time.

Enter the time to send the message in the `scheduledDate` field as part of the request.

#### Example request:

```bash
curl --location 'https://api.mobile-text-alerts.com/v3/send' \
  --header 'Authorization: Bearer <APIKey>' \
  --header 'Content-Type: application/json' \
  --data '{"subscribers": [1112223333],"message": "Hello World", "scheduledDate": "20260302T173000-0500"}'
```

Visit [Send an SMS Message](/tutorials/message-sending/send-an-sms-message.md#schedule-message-sends) to learn more.

## Can I refer to my subscribers by name in the message I send to them?

Yes, you can refer to subscribers by name in your message by using a Liquid template variable in the [`properties` field](/tutorials/message-sending/send-an-sms-message.md#properties-field-for-custom-variables-in-messages). The `properties` field contains a map between individual subscribers and the values assigned to those variables.

In the example request below, the `firstName` variable references the recipient name. Each recipient name is defined in `properties` for each subscriber number.

#### Example request:

```bash
curl --location 'https://api.mobile-text-alerts.com/v3/send' \
  --header 'Authorization: Bearer <APIKey>' \
  --header 'Content-Type: application/json' \
  --data {
  "subscribers": ["3175551111", "3175552222"],
  "message": "Hello {{firstName}}!",
  "properties": {
    "3175551111": {
      "firstName": "Bob"
    },
    "3175552222": {
      "firstName": "Tony"
    }
  }
}
```

Visit [Send an SMS Message](/tutorials/message-sending/send-an-sms-message.md#properties-field-for-custom-variables-in-messages) to learn more.

## How can I be notified when my subscribers reply to a message?

To receive message reply notifications, you must configure a [`message-reply`](/tutorials/webhooks.md#message-reply) webhook. Once configured, when MTA receives an inbound message from a provider, it will post the inbound message to this endpoint.

See [Receive and Reply to Messages](/tutorials/message-sending/receive-and-reply-to-messages.md) to learn more.

## How can I import all of my subscribers?

Subscribers can be added with the [Manage Subscribers](/tutorials/manage-subscribers.md#create-subscriber-api-endpoint), but for large imports, the [Bulk Create Subscribers](/tutorials/manage-subscribers/bulk-create-update-subscribers.md#bulk-create-subscribers) endpoint is recommended. This reduces request round-trip time and API call volume, which helps avoid rate limits.

## How can I see the status of a sent message?

You can check the delivery status of your message sends with Mobile Text Alerts in two different ways:

* [Call the List Deliveries API endpoint](/check-delivery-status.md#call-the-list-deliveries-api-endpoint)
  * This is best for reporting/analytics of settled message data. This only includes the most recent status for a message.
* [Configure the delivery-status webhook](/check-delivery-status.md#configure-the-delivery-status-webhook)
  * This is best for real-time status updates. With this webhook, you can receive the full status history from the moment of send to the final result status (delivered, rejected, etc.).

## Can I send iMessages to my subscribers?

Yes, if you're interested in sending iMessages and want to participate in our beta program, please reach out to your account manager to notify them of your interest.

See [Send an iMessage](/tutorials/message-sending/send-an-imessage.md) to learn more.

## How do I verify that requests to my webhook endpoint are really from Mobile Text Alerts?

Webhooks are unauthenticated HTTP callbacks by default, so events can be impersonated.  Your webhook listener should validate requests from Mobile Text Alerts by generating the [SHA-256 HMAC](https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography.hmacsha256) signature of the request body and comparing it to the value of the `X-Signature` header.

See [Webhook Signature Verification](/tutorials/webhooks/webhook-signature-verification.md) to learn more.


---

# Agent Instructions: 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:

```
GET https://developers.mobile-text-alerts.com/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
