LogoLogo
Jump to...Create Free API Account
  • Developer Center Introduction
  • Getting Started
    • Get an API Key
    • Send a Message
    • Add a Subscriber
    • Setting up Webhooks
  • Check Delivery Status
  • API Basics
    • Request / Response Headers
    • Request Parameters
    • Rate Limits
    • Error Response Codes
  • Messaging Routes
    • 10DLC
    • Toll-Free
    • Short Code
    • iMessage
    • RCS / RBM
  • Tutorials
    • Message Sending
      • Send an SMS Message
      • Send an MMS Message
      • Send an iMessage
        • Sender Identity
        • Subscriber Opt In
        • Send iMessages
        • SMS Fallback
      • Message Templates
      • Receive and Reply to Messages
    • Manage Subscribers
      • Custom Subscriber Attributes
      • Group Subscribers
      • Bulk Create/Update Subscribers
    • Webhooks
      • Setting up your first webhook
  • Use Cases
    • Generate and validate 2FA / MFA codes via SMS
  • FAQ
  • API Reference
Powered by GitBook
LogoLogo

Resources

  • Help Center
  • Contact

Company

  • About Us
  • Privacy Policy
  • Service Agreement

Connect with Us

  • YouTube
  • Facebook
  • X (Twitter)
  • Instagram

Mobile Text Alerts © 2025

On this page
  • List all Subscribers API Endpoint
  • Create Subscriber API Endpoint
  • Example Request
  • Update Subscriber API Endpoint
  • Example Request
  • Get Subscriber API Endpoint
  • Example Request
  • Delete Subscriber API Endpoint
  • Example Request

Was this helpful?

Export as PDF
  1. Tutorials

Manage Subscribers

View all the ways you can interact with the API to manage your subscribers

  • List all Subscribers API Endpoint

  • Create Subscriber API Endpoint

  • Update Subscriber API Endpoint

  • Get Subscriber API Endpoint

  • Delete Subscriber API Endpoint

List all Subscribers API Endpoint

GET /subscribers

List all subscribers and query for subscribers. Includes all subscribers with query value in either first name, last name, number, email, or custom subscriber fields and with filters values in respective categories.

Rate Limit

This endpoint overrides the general rate limit with an account rate limit. Requests are limited by the authenticated account instead of the IP address. This endpoint is limited to 15 requests per 15 seconds.

Headers

Name
Value

Content-Type

application/json

Authorization

Example Request

curl --location 'https://api-staging.mobile-text-alerts.com/v3/subscribers' \
  --header 'Authorization: Bearer 6078eebf-7661-5458-330e-74cd055a0b03'

Response

{"data":
    {"rows":[
        {"id":109021626,
        "firstName":"Test",
        "lastName":"Example",
        "email":"test@mobile-text-alerts.com",
        "number":0,"date":"2025-03-20T19:09:38.000Z",
        "countryId":null,"groups":[],
        "subscriberFieldData":[],
        "signupMethod":11,
        "longNumber":0,
        "carrierId":41},
        {"id":109021633,
        "firstName":"FirstName",
        "lastName":"LastName",
        "email":"example@mobile-text-alerts.com",
        "number":1112228904,"e164Number":"+1112228904",
        "date":"2025-03-21T15:50:54.000Z",
        "countryId":209,"groups":[],
        "subscriberFieldData":[],
        "signupMethod":5,
        "longNumber":1112228904,
        "carrierId":41},
    "page":0,"pageSize":25,"total":2}}
{
  "httpCode": 400,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "bad_request_error",
  "name": "MTABadRequestError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 401,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "unauthorized_error",
  "name": "MTAUnauthorizedError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 403,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "forbidden_error",
  "name": "MTAForbiddenError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000",
  "reason": null
}
{
  "httpCode": 429,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "rate_limit_error",
  "name": "MTARateLimitError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 500,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "internal_server_error",
  "name": "MTAInternalServerError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}

Create Subscriber API Endpoint

POST /subscribers

Used to add a new subscriber.

If given a phone number or email that already exists tied to the same account, this endpoint will update the existing subscriber with new information.

Rate Limit

This endpoint overrides the general rate limit with an account rate limit. Requests are limited by the authenticated account instead of the IP address. This endpoint is limited to 15 requests per 15 seconds.

Headers

Name
Value

Content-Type

application/json

Authorization

Body

Required Fields: email or number

Example Request

curl -XPOST --location 'https://api.mobile-text-alerts.com/v3/subscribers' \
  --header 'Authorization: Bearer 89fa747a-e01b-5940-99c2-4e96fa996258' 
  --header 'Content-Type:application/json' \
  --data-raw '{  
    "firstName": "FirstName", 
    "lastName": "LastName", 
    "number": 8002223333, 
    "email": "example@mobile-text-alerts.com" 
}'

Response Codes

{
  "data": {
    "id": 100,
    "firstName": "firstName",
    "lastName": "lastName",
    "email": "test@example.com",
    "number": 1234567890,
    "date": "2021-01-01T00:00:00.000Z",
    "countryId": 0,
    "groups": [
      {
        "id": 100,
        "name": "Group A"
      },
      {
        "id": 101,
        "name": "Group B"
      },
      {
        "id": 102,
        "name": "Group C"
      }
    ],
    "subscriberFieldData": [
      {
        "id": 1000,
        "subscriberFieldId": 2000,
        "data": "January 1st, 2000"
      },
      {
        "id": 1001,
        "subscriberFieldId": 2001,
        "data": "Custom Field Value"
      }
    ],
    "signupMethod": 3,
    "longNumber": 1234567890
  }
}
{
  "httpCode":400,
  "message":"Required fields for adding a member are a valid 'number' or 'email'.",
  "timestamp":"2025-03-20T14:12:41-05:00",
  "type":"missing_field_error",
  "name":"MTAMissingFieldError",
  "requestId":"cb5e59df-1901-484e-851c-3405f0b93140"
}
{
  "httpCode": 401,
  "message": "text",
  "timestamp": "2025-03-19T17:57:40.235Z",
  "type": "unauthorized_error",
  "name": "MTAUnauthorizedError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 403,
  "message": "text",
  "timestamp": "2025-03-19T17:57:40.235Z",
  "type": "forbidden_error",
  "name": "MTAForbiddenError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000",
  "reason": null
}
{
  "httpCode": 429,
  "message": "text",
  "timestamp": "2025-03-19T17:57:40.235Z",
  "type": "rate_limit_error",
  "name": "MTARateLimitError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 500,
  "message": "text",
  "timestamp": "2025-03-19T17:57:40.235Z",
  "type": "internal_server_error",
  "name": "MTAInternalServerError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}

Update Subscriber API Endpoint

PATCH /subscribers/{idOrNumberOrEmail}

Update details of a specific subscriber. If a field isn't specified, then original value is retained, except for groups , where the subscriber will be added as a member to the groups specified and removed from all other groups.

If given a phone number or email that already exists, then this endpoint will return success: false.

Path Variable

When making the request, the Subscriber Id, Phone Number or email must be included as an identifier in the path:

  • idOrNumber: string

  • subscriberId: number

Rate Limit

This endpoint overrides the general rate limit with an account rate limit. Requests are limited by the authenticated account instead of the IP address. This endpoint is limited to 15 requests per 15 seconds.

Headers

Name
Value

Content-Type

application/json

Authorization

Body (all optional)

Example Request

curl -PATCH --location 'https://api.mobile-text-alerts.com/v3/subscribers/100’ \
  --header 'Authorization: Bearer 89fa747a-e01b-5940-99c2-4e96fa996258' 
  --header 'Content-Type:application/json' \
  --data-raw '{"firstName": "FirstName1”, "lastName": "LastName1” }'

Response

{"message":"Subscriber updated successfully.",
    "data":{
        "id":109021633,
        "firstName":"FirstName",
        "lastName":"LastName",
        "email":"example@mobile-text-alerts.com",
        "number":12223334444,
        "e164Number":"+12223334444",
        "date":"2025-03-21T15:50:54.000Z",
        "countryId":209,"groups":[],
        "subscriberFieldData":[],
        "signupMethod":5,
        "longNumber":2069638904,
        "carrierId":41
        }
}
{
  "httpCode": 400,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "bad_request_error",
  "name": "MTABadRequestError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 401,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "unauthorized_error",
  "name": "MTAUnauthorizedError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 403,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "forbidden_error",
  "name": "MTAForbiddenError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000",
  "reason": null
}
{
  "httpCode": 429,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "rate_limit_error",
  "name": "MTARateLimitError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 500,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "internal_server_error",
  "name": "MTAInternalServerError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}

Get Subscriber API Endpoint

GET /subscribers/{idOrNumber}

List the data for just the specified (using the path variable) subscriber.

Path Variable

When making the request, the Subscriber Id or Phone Number must be included as an identifier in the path:

  • idOrNumber: string

  • subscriberId: number

Rate Limit

This endpoint overrides the general rate limit with an account rate limit. Requests are limited by the authenticated account instead of the IP address. This endpoint is limited to 15 requests per 15 seconds.

Headers

Name
Value

Content-Type

application/json

Authorization

Example Request

curl --location 'https://api.mobile-text-alerts.com/v3/subscribers/100 \
  --header 'Authorization: Bearer 6078eebf-7661-5458-330e-74cd055a0b03'

Response

{"data":
    {"id":100,
    "firstName":"FirstName",
    "lastName":"LastName",
    "email":"example@mobile-text-alerts.com",
    "number":1112228904,"e164Number":"+1112228904",
    "date":"2025-03-21T15:50:54.000Z",
    "countryId":209,
    "groups":[],
    "subscriberFieldData":[],
    "signupMethod":5,
    "longNumber":2069638904,
    "carrierId":41
    }
}
{
  "httpCode": 400,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "bad_request_error",
  "name": "MTABadRequestError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 401,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "unauthorized_error",
  "name": "MTAUnauthorizedError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 403,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "forbidden_error",
  "name": "MTAForbiddenError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000",
  "reason": null
}
{
  "httpCode": 429,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "rate_limit_error",
  "name": "MTARateLimitError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 500,
  "message": "text",
  "timestamp": "2025-04-22T19:58:46.549Z",
  "type": "internal_server_error",
  "name": "MTAInternalServerError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}

Delete Subscriber API Endpoint

DEL /subscribers/{idOrNumber}

Remove the specified (using the path variable) subscriber.

Path Variable

When making the request, the Subscriber Id or Phone Number must be included as an identifier in the path:

  • idOrNumber: string

  • subscriberId: number

A 404 response will be returned if this identifier is not found.

Rate Limit

This endpoint overrides the general rate limit with an account rate limit. Requests are limited by the authenticated account instead of the IP address. This endpoint is limited to 15 requests per 15 seconds.

Headers

Name
Value

Content-Type

application/json

Authorization

Example Request

curl --location --request DELETE 'https://api.mobile-text-alerts.com/v3/subscribers/100'
  --header 'Authorization: Bearer 6078eebf-7661-5458-330e-74cd055a0b03'

Response

{"message":"Subscriber deleted successfully."}
{
"httpCode": 400,
"message": "text",
"timestamp": "2025-04-23T13:11:46.184Z",
"type": "bad_request_error",
"name": "MTABadRequestError",
"requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 401,
  "message": "text",
  "timestamp": "2025-04-23T13:11:46.184Z",
  "type": "unauthorized_error",
  "name": "MTAUnauthorizedError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
"httpCode":404,
"message":"Subscriber 109021633 not found.",
"timestamp":"2025-04-23T08:13:15-05:00",
"type":"not_found_error",
"name":"MTANotFoundError",
"requestId":"55213ad0-824e-4744-9a7d-8dd875d78d3a"
}
{
  "httpCode": 429,
  "message": "text",
  "timestamp": "2025-04-23T13:11:46.184Z",
  "type": "rate_limit_error",
  "name": "MTARateLimitError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "httpCode": 500,
  "message": "text",
  "timestamp": "2025-04-23T13:11:46.184Z",
  "type": "internal_server_error",
  "name": "MTAInternalServerError",
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}
PreviousReceive and Reply to MessagesNextCustom Subscriber Attributes

Last updated 24 days ago

Was this helpful?

Bearer

If creating many subscribers at one time, the endpoint can be used to batch large updates, this can save on both request round trip time and overall API call volume.

Bearer

If updating many subscribers at one time, the endpoint can be used to batch large updates, this can save on both request round trip time and overall API call volume.

Bearer

Bearer

Bearer

<APIKey>
<APIKey>
<APIKey>
<APIKey>
<APIKey>
Bulk Create
Bulk Update
Name
Type
Description

firstName

string

First name of the subscriber.

lastName

string

Last name of the subscriber.

number(required if no email)

number

Phone number of the subscriber.

email (required if no number)

string

Email address of the subscriber.

e164Number

string

E.164 international telephone number of the subscriber. If supplied, will be used over number .

E.164 Format:

[+] [country code] [subscriber number including area code] (max. 15 digits)

groupIds

number[]

List of group ids of the groups the subscriber belongs to.

subscriberFields

dictionary: subscriberFieldIds:string as the keys and data: string corresponding values

A dictionary of key value pairs of additional for the subscriber.

Example:

"subscriberFields": {
    "2000": "January 1st, 2000",
    "2001": "Custom Field Data"
}
custom subscriber attributes
Name
Type
Description

firstName

string

First name of the subscriber.

lastName

string

Last name of the subscriber.

number

number

Phone number of the subscriber.

email

string

Email address of the subscriber.

e164Number

string

E.164 international telephone number of the subscriber. If supplied, will be used over number .

E.164 Format:

[+] [country code] [subscriber number including area code] (max. 15 digits)

groupIds

number[]

List of group ids of the groups the subscriber belongs to.

subscriberFields

dictionary: subscriberFieldIds:string as the keys and data: string corresponding values

A dictionary of key value pairs of additional for the subscriber.

Example:

"subscriberFields": {
    "2000": "January 1st, 2000",
    "2001": "Custom Field Data"
}
custom subscriber attributes