Send an Announcement

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://reference.textline.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Textline API MCP server": {
    "url": "https://reference.textline.com/mcp"
  }
}

Close
POST /api/announcements.json

Send an Announcement to a group of contacts. selection_type must be one of: tags, saved-searches, or phone_numbers. Variables are supported.

Also supported on this endpoint:

  • Send an Announcement to Uploaded Contactsselection_type: csv with recipients.csv_data (base64 CSV).
  • Schedule an Announcement — set scheduled: true and mass_text.timestamp (unix seconds).
application/json

Body Required

  • selection_type string Required

    One of: tags, saved-searches, phone_numbers, csv

  • recipients object Required

    Exactly one selection should be provided (except csv uses csv_data).

    Hide recipients attributes Show recipients attributes object
    • saved_search_uuid string
    • tag string
    • phone_numbers array[string]
    • csv_data string

      Base64-encoded CSV for selection_type=csv

  • mass_text object Required
    Hide mass_text attributes Show mass_text attributes object
    • group_uuid string Required
    • comment_body string Required
    • title string Required
    • resolve_on_send string
    • assignment_target_uuid string
    • reply_window_value string
    • reply_assignment_target_uuid string
    • timestamp string

      Required when scheduling (unix timestamp in seconds).

  • scheduled boolean

    Set true when scheduling a future announcement.

Responses

  • 200 application/json

    OK

    Hide response attribute Show response attribute object
    • authorized string
POST /api/announcements.json
curl \
 --request POST 'https://application.textline.com/api/announcements.json' \
 --header "Content-Type: application/json" \
 --data '{
  "selection_type": "tags",
  "recipients": {
    "tag": "VIP"
  },
  "mass_text": {
    "group_uuid": "deb79a6a-0652-4e14-86f2-dc8c5c502369",
    "comment_body": "Test announcement",
    "title": "Test"
  }
}'
Request examples
{
  "selection_type": "tags",
  "recipients": {
    "tag": "VIP"
  },
  "mass_text": {
    "group_uuid": "deb79a6a-0652-4e14-86f2-dc8c5c502369",
    "comment_body": "Test announcement",
    "title": "Test"
  }
}
{
  "selection_type": "csv",
  "recipients": {
    "csv_data": "bmFtZSxwaG9uZSBudW1iZXIsY3VzdG9tX21lc3NhZ2UKdGV4dGxpbmUsNDE1ODQ5NDM0OSxob3cgdG8gZW5jb2RlIHlvdXIgQ1NW"
  },
  "mass_text": {
    "group_uuid": "deb79a6a-0652-4e14-86f2-dc8c5c502369",
    "comment_body": "Hi {{upload.name}}, This is a test announcement about {{upload.custom_message}}",
    "title": "Test"
  }
}
{
  "selection_type": "saved-searches",
  "recipients": {
    "saved_search_uuid": "44db893e-cf20-4279-96c7-60abb8a43b61"
  },
  "mass_text": {
    "group_uuid": "deb79a6a-0652-4e14-86f2-dc8c5c502369",
    "comment_body": "Test announcement",
    "title": "Test",
    "timestamp": "1598991000"
  },
  "scheduled": true
}
Response examples (200)
{
  "authorized": "true"
}