Group Subscribers
Learn how to create and update groups of subscribers, useful for targeted messaging.
Organizing subscribers into different groups enables you to easily send out targeted messages to specific segments. With Mobile Text Alerts, you can add, edit, and remove groups and subscribers via the online dashboard or with the MTA API, making it easy to keep your contact lists updated.

Manage Groups with the API
The Mobile Text Alerts API allows you to create a group, delete a group, update an existing group's metadata or view all groups for your account.
Note that these actions are used to make changes to the group itself, not the subscribers that may be contained within the group. See Manage Group Members to see actions for adding/removing subscribers from your groups.
Create a new Group
A POST
call to the /groups
endpoint will create a new group, see below for all the additional request fields for the group metadata when creating a new group.
Example request
curl -L \
--request POST \
--url 'https://api.mobile-text-alerts.com/v3/groups' \
--header 'Authorization: Bearer 3098eebf-7661-5858-890e-65cd054a0b03' \
--header 'Content-Type: application/json' \
--data '{
"name": "Example"
}'
Successful response: "message": "Created group Example."
Request Fields
name
- required
string
The name of the group.
hidden
boolean
Indicates if the group is hidden.
description
string
Description of the group.
displayName
string
An alternate display name for this group
sortOrder
number
Override default sorting when displaying this group on the subscriber sign up page
isTemporary
boolean
When set to true, this group is marked as temporary. Temporary groups are deleted at midnight of the day following their creation.
createdAt
string
Timestamp of when the group was created. For example: "2025-05-29T19:04:14.000Z"
POST /v3/groups HTTP/1.1
Host: api.mobile-text-alerts.com
Authorization: Bearer apiKey
Content-Type: application/json
Accept: */*
Content-Length: 472
{
"id": 1,
"accountId": 1,
"name": "text",
"hidden": 1,
"keyword": "text",
"welcomeMessage": "text",
"description": "text",
"parentWebinarId": "text",
"displayName": "text",
"sortOrder": 1,
"type": "static",
"settings": {
"match": "AND",
"conditions": [
{
"type": "text",
"conditionAttribute": "text",
"conditionOperator": "equals",
"conditionCategory": "text",
"conditionValue": [
"text"
],
"conditionSubOperator": "equals",
"conditionSubValue": [
"text"
]
}
]
},
"isTemporary": true,
"createdAt": "2025-06-21T06:22:43.054Z"
}
{
"statusCode": "MTANoLinkedAccountError",
"success": true,
"error": "text",
"message": "text",
"data": {
"id": 1,
"name": "text",
"hidden": 1,
"welcomeMessage": "text",
"description": "text",
"parentWebinarId": "text",
"displayName": "text",
"sortOrder": 1,
"type": "static",
"settings": {
"match": "AND",
"conditions": [
{
"type": "text",
"conditionAttribute": "text",
"conditionOperator": "equals",
"conditionCategory": "text",
"conditionValue": [
"text"
],
"conditionSubOperator": "equals",
"conditionSubValue": [
"text"
]
}
]
},
"isTemporary": true,
"createdAt": "2025-06-21T06:22:43.054Z",
"memberCount": 1
}
}
Delete Group
Groups can be deleted without needed to supply a request body. Simply include the {groupId}
of the group to be deleted as a path parameter with your DELETE
request.
Example Request
In the below example we are deleting groupId
: 187561
.
curl --request DELETE --location 'https://api.mobile-text-alerts.com/v3/groups/187561'
--header 'Authorization: Bearer 3098eebf-7661-5858-890e-65cd054a0b03'
Successful Response: {"message":"Group deleted successfully."}
DELETE /v3/groups/{groupId} HTTP/1.1
Host: api.mobile-text-alerts.com
Authorization: Bearer apiKey
Accept: */*
{
"statusCode": "MTANoLinkedAccountError",
"success": true,
"error": "text",
"message": "text",
"data": null
}
Update Groups
The fields that contain the metadata about a group can be added or updated at anytime by calling the PATCH
/groups/{groupId}
endpoint with the identifying {groupId}
of the group to be updated. See below for all the optional request fields that contain the group metadata.
Example Request
In the below example, we are updating groupId
: 187561
.
curl -L \
--request PATCH \
--url 'https://api.mobile-text-alerts.com/v3/groups/187561' \
--header 'Authorization: Bearer 3098eebf-7661-5858-890e-65cd054a0b03' \
--header 'Content-Type: application/json' \
--data '{
"name": "New Name"
}'
Successful response: "message": "Updated group New Name."
Request Fields
name
- required
string
The name of the group.
hidden
boolean
Indicates if the group is hidden.
description
string
Description of the group.
displayName
string
An alternate display name for this group
sortOrder
number
Override default sorting when displaying this group on the subscriber sign up page
isTemporary
boolean
When set to true, this group is marked as temporary. Temporary groups are deleted at midnight of the day following their creation.
createdAt
string
Timestamp of when the group was created. For example: "2025-05-29T19:04:14.000Z"
PATCH /v3/groups/{groupId} HTTP/1.1
Host: api.mobile-text-alerts.com
Authorization: Bearer apiKey
Content-Type: application/json
Accept: */*
Content-Length: 472
{
"id": 1,
"accountId": 1,
"name": "text",
"hidden": 1,
"keyword": "text",
"welcomeMessage": "text",
"description": "text",
"parentWebinarId": "text",
"displayName": "text",
"sortOrder": 1,
"type": "static",
"settings": {
"match": "AND",
"conditions": [
{
"type": "text",
"conditionAttribute": "text",
"conditionOperator": "equals",
"conditionCategory": "text",
"conditionValue": [
"text"
],
"conditionSubOperator": "equals",
"conditionSubValue": [
"text"
]
}
]
},
"isTemporary": true,
"createdAt": "2025-06-21T06:22:43.054Z"
}
{
"statusCode": "MTANoLinkedAccountError",
"success": true,
"error": "text",
"message": "text",
"data": {
"id": 1,
"name": "text",
"hidden": 1,
"welcomeMessage": "text",
"description": "text",
"parentWebinarId": "text",
"displayName": "text",
"sortOrder": 1,
"type": "static",
"settings": {
"match": "AND",
"conditions": [
{
"type": "text",
"conditionAttribute": "text",
"conditionOperator": "equals",
"conditionCategory": "text",
"conditionValue": [
"text"
],
"conditionSubOperator": "equals",
"conditionSubValue": [
"text"
]
}
]
},
"isTemporary": true,
"createdAt": "2025-06-21T06:22:43.054Z",
"memberCount": 1
}
}
List All Groups
Call the GET
/groups
endpoint to see all the groups on your account.
Query responses include the following data:
page
- the current page of results being shownpageSize
- number of groups shown per pagetotal
- the total number of groups on your account
Example Request
curl --location 'https://api.mobile-text-alerts.com/v3/groups'\
--header 'Authorization: Bearer 3098eebf-7661-5858-890e-65cd054a0b03'
Successful response:
{"data":
{"rows":
[{"id":187561,
"name":"Test Group",
"hidden":0,
"displayName":null,
"welcomeMessage":"",
"sortOrder":null,
"description":"First group created for testing.",
"createdAt":"2025-05-29T19:04:14.000Z",
"memberCount":0,"type":"static"},
{"id":187572,
"name":"API-Test",
"hidden":0,
"displayName":null,
"welcomeMessage":"",
"sortOrder":null,
"description":null,
"createdAt":"2025-05-29T14:47:26.000Z",
"memberCount":0,"type":"static"}],
"page":0,"pageSize":25,"total":2}}
GET /v3/groups HTTP/1.1
Host: api.mobile-text-alerts.com
Authorization: Bearer apiKey
Accept: */*
{
"statusCode": "MTANoLinkedAccountError",
"success": true,
"error": "text",
"message": "text",
"data": {
"rows": [
{
"id": 1,
"name": "text",
"hidden": 1,
"welcomeMessage": "text",
"description": "text",
"parentWebinarId": "text",
"displayName": "text",
"sortOrder": 1,
"type": "static",
"settings": {
"match": "AND",
"conditions": [
{
"type": "text",
"conditionAttribute": "text",
"conditionOperator": "equals",
"conditionCategory": "text",
"conditionValue": [
"text"
],
"conditionSubOperator": "equals",
"conditionSubValue": [
"text"
]
}
]
},
"isTemporary": true,
"createdAt": "2025-06-21T06:22:43.054Z",
"memberCount": 1
}
],
"page": 1,
"pageSize": 1,
"total": 1
}
}
Manage Group Members
Subscribers can be added or deleted from your groups with the API endpoints documented below.
Add Subscriber to Group
To add a subscriber to a group you will need both the subscriberId
and the groupId
. The subscriberId
is passed on the body of the request, while the groupId
is specified as a path parameter.
Example request:
In the below example we are adding subscriberId
:108767117
to groupId
: 187561
.
curl -X POST --location 'https://api.mobile-text-alerts.com/v3/groups/187561/subscribers' \
--header 'Authorization: Bearer 3098eebf-7661-5858-890e-65cd054a0b03'
--header 'Content-Type: application/json' \
--data '{"subscriberId":108767117}'
Successful response: {"message":"Added subscriber 108767117 to group 187561."}
Required Fields: subscriberId
Note: Field addToDripCampaigns
is true
by default.
undefined
POST /v3/groups/{groupId}/subscribers HTTP/1.1
Host: api.mobile-text-alerts.com
Authorization: Bearer apiKey
Content-Type: application/json
Accept: */*
Content-Length: 44
{
"subscriberId": 1,
"addToDripCampaigns": true
}
{
"statusCode": "MTANoLinkedAccountError",
"success": true,
"error": "text",
"message": "text",
"data": null
}
Delete Group Member
Subscribers can be removed from a group by identifying them with the groupId
and subscriberId
in the path parameters to the DELETE
/groups/{groupId}/subscribers/{subscriberId
endpoint.
Example request
In the below example we are deleting subscriberId
:108767117
from groupId
: 187561
.
curl --request DELETE --location 'https://api.mobile-text-alerts.com/v3/groups/187561/subscribers/108767117'
--header 'Authorization: Bearer 3098eebf-7661-5858-890e-65cd054a0b03'
Successful Response: {"message":"Deleted subscriber 108767117 from group 187561."}
DELETE /v3/groups/{groupId}/subscribers/{subscriberId} HTTP/1.1
Host: api.mobile-text-alerts.com
Authorization: Bearer apiKey
Accept: */*
{
"statusCode": "MTANoLinkedAccountError",
"success": true,
"error": "text",
"message": "text",
"data": null
}
Last updated
Was this helpful?