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 Group Members in the online dashboard

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
Type
Description

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"

Create Group

post
Authorizations
Body
idnumberOptional
accountIdnumberOptional
namestringOptional
hiddennumberOptional
keywordstringOptional
welcomeMessagestringOptional
descriptionstringOptional
parentWebinarIdstringOptional
displayNamestring | nullableOptional
sortOrdernumber | nullableOptional
typestring · enumOptionalPossible values:
isTemporarybooleanOptional
createdAtone ofOptional
string · date-timeOptional
or
stringOptional
or
string | nullableOptional
Responses
200
Success
application/json
Responseall of
post
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 Group

delete
Authorizations
Path parameters
groupIdstringRequired
Responses
200
Success
application/json
delete
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
Type
Description

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"

Update Group

patch
Authorizations
Path parameters
groupIdstringRequired
Body
idnumberOptional
accountIdnumberOptional
namestringOptional
hiddennumberOptional
keywordstringOptional
welcomeMessagestringOptional
descriptionstringOptional
parentWebinarIdstringOptional
displayNamestring | nullableOptional
sortOrdernumber | nullableOptional
typestring · enumOptionalPossible values:
isTemporarybooleanOptional
createdAtone ofOptional
string · date-timeOptional
or
stringOptional
or
string | nullableOptional
Responses
200
Success
application/json
Responseall of
patch
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.

This endpoint produces paginated results. You may need to make multiple queries to retrieve every group on your account.

Query responses include the following data:

  • page - the current page of results being shown

  • pageSize- number of groups shown per page

  • total - 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}}

List Groups

get
Authorizations
Query parameters
Responses
200
Success
application/json
Responseall of
get
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.

If you need to add or delete many group members in a single request, see Groups Bulk Add/Delete Subscribers for bulk endpoints which can receive up to 1,000 records in a single request.

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."}

By default, when adding a subscriber to a group the addToDripCampaigns field will be set to true . Set this field to false if you don't want this subscriber included in drip campaigns.

Add Subscriber to Group

post

Required Fields: subscriberId

Note: Field addToDripCampaigns is true by default.

undefined

Authorizations
Path parameters
groupIdstringRequired
Body
subscriberIdnumberRequired
addToDripCampaignsbooleanOptional
Responses
200
Success
application/json
post
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."}

Remove Subscriber from Group

delete
Authorizations
Path parameters
groupIdstringRequired
subscriberIdstringRequired
Responses
200
Success
application/json
delete
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?