Programmable SMS

How to integrate with our Channels API for SMS/MMS Messaging

Summary

SMS (Short Message Service) is a messaging channel that allows businesses to communicate with customers through text messages on their mobile devices. With SMS, businesses can quickly and easily reach a large number of customers and automate their communication processes.

In addition in the United States and Canada it is also possible to send media messages through MMS (Multimedia Message Service).

Installation

To send SMS messages you will need an SMS capable number and this will need to be installed as an SMS channel. If the number is also MMS capable you will also be able to send media messages though the channel.

Checking if a channel is MMS capable

You can validate if a channel is MMS capable by the capabilities object that is returned in the GET channel request

Get channel

get

Retrieve a specific workspace channel

Authorizations
Path parameters
workspaceIdstring · uuidRequired

The ID of the workspace

channelIdstring · uuidRequired

The ID for a channel

Responses
200
OK
application/json
get
GET /workspaces/{workspaceId}/channels/{channelId} HTTP/1.1
Host: 
Authorization: Bearer jwt
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "platformId": "text",
  "name": "text",
  "connectorId": "123e4567-e89b-12d3-a456-426614174000",
  "identifier": "text",
  "status": "active",
  "contactIdentifierKeyOverride": "text",
  "contactIdentifierFormatOverride": {
    "type": "none",
    "pattern": "text"
  },
  "platformServiceUrlOverride": "text",
  "platformServiceVersionOverride": "1.0",
  "platformServiceProtocolOverride": "http",
  "platformMessageJsonSchemaOverride": {},
  "platformTemplateEngineOverride": "default",
  "capabilities": {
    "messaging": {
      "messaging": {
        "displayName": "text",
        "status": "text",
        "name": "text",
        "version": 1,
        "updatedAt": "2025-07-10T01:53:24.346Z",
        "createdAt": "2025-07-10T01:53:24.346Z",
        "expiresAt": "2025-07-10T01:53:24.346Z",
        "outgoing": {
          "displayName": "text",
          "status": "text",
          "name": "text",
          "version": 1,
          "updatedAt": "2025-07-10T01:53:24.346Z",
          "createdAt": "2025-07-10T01:53:24.346Z",
          "expiresAt": "2025-07-10T01:53:24.346Z",
          "mms": {
            "displayName": "text",
            "status": "text",
            "name": "text",
            "version": 1,
            "paused": true,
            "updatedAt": "2025-07-10T01:53:24.346Z",
            "createdAt": "2025-07-10T01:53:24.346Z",
            "expiresAt": "2025-07-10T01:53:24.346Z"
          },
          "media": {
            "textFallback": {
              "displayName": "text",
              "status": "text",
              "name": "text",
              "version": 1,
              "paused": true,
              "updatedAt": "2025-07-10T01:53:24.346Z",
              "createdAt": "2025-07-10T01:53:24.346Z",
              "expiresAt": "2025-07-10T01:53:24.346Z"
            }
          },
          "mmLite": {
            "displayName": "text",
            "status": "text",
            "name": "text",
            "version": 1,
            "paused": true,
            "updatedAt": "2025-07-10T01:53:24.346Z",
            "createdAt": "2025-07-10T01:53:24.346Z",
            "expiresAt": "2025-07-10T01:53:24.346Z"
          }
        },
        "incoming": {
          "displayName": "text",
          "status": "text",
          "name": "text",
          "version": 1,
          "updatedAt": "2025-07-10T01:53:24.346Z",
          "createdAt": "2025-07-10T01:53:24.346Z",
          "expiresAt": "2025-07-10T01:53:24.346Z",
          "mms": {
            "displayName": "text",
            "status": "text",
            "name": "text",
            "version": 1,
            "paused": true,
            "updatedAt": "2025-07-10T01:53:24.346Z",
            "createdAt": "2025-07-10T01:53:24.346Z",
            "expiresAt": "2025-07-10T01:53:24.346Z"
          }
        }
      },
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "voice": {
      "voice": {
        "displayName": "text",
        "status": "text",
        "name": "text",
        "version": 1,
        "updatedAt": "2025-07-10T01:53:24.346Z",
        "createdAt": "2025-07-10T01:53:24.346Z",
        "expiresAt": "2025-07-10T01:53:24.346Z",
        "recording": {
          "displayName": "text",
          "status": "text",
          "name": "text",
          "version": 1,
          "paused": true,
          "updatedAt": "2025-07-10T01:53:24.346Z",
          "createdAt": "2025-07-10T01:53:24.346Z",
          "expiresAt": "2025-07-10T01:53:24.346Z"
        }
      },
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  },
  "settings": [
    {
      "key": "text",
      "value": "text",
      "displayName": "text",
      "description": "text",
      "visibility": "public"
    }
  ],
  "connectionParams": [
    {
      "key": "text",
      "value": "text",
      "displayName": "text",
      "description": "text",
      "visibility": "public"
    }
  ],
  "preferences": {
    "disableProfileFetching": true,
    "explicitMarketingOptOut": true,
    "trackAdInitiatedThreads": null,
    "ignoreSuppressionChecks": true,
    "isPrivate": true,
    "useMmLite": true
  },
  "useCaseId": "text",
  "useCaseType": "transactional",
  "channelMessageType": "promotional",
  "suites": [
    "marketing"
  ],
  "resourceOwners": {
    "ANY_ADDITIONAL_PROPERTY": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "type": "user"
    }
  },
  "createdAt": "2025-07-10T01:53:24.346Z",
  "updatedAt": "2025-07-10T01:53:24.346Z"
}

If the channel is MMS capable, the following capabilities will show as active (otherwise inactive)

  • capabilities.messaging.outgoing.mms.status = active

  • capabilities.messaging.inbound.mms.status = active

Last updated

Was this helpful?