List your SMS markets

Every market you send SMS in, each with its sender, where that sender stands, and what its compliance holds.

The same entries GET /v3/channels reports under sms, and the same shape GET /v3/channels/sms/{country}/{type} returns for one of them — so a list, a member read and the all-channels read cannot describe a market differently.

Send x-profile-id with an organization key to list one of your profiles' markets.

GET
/v3/channels/sms

Response Body

application/json

application/json

curl -X GET "https://example.com/v3/channels/sms"
{
  "success": true,
  "data": [
    {
      "country": "US",
      "number_type": "TEN_DLC",
      "sender_value": "+12125550100",
      "status": "ACTIVE",
      "note": "This market's sender is live and can carry traffic.",
      "compliance": {
        "brand": {
          "inherit": false,
          "legal_name": "Example Retail Inc",
          "entity_type": "PRIVATE_PROFIT",
          "country": "US"
        },
        "campaign": {
          "inherit": false,
          "description": "Order and delivery updates for customers who opted in at checkout."
        },
        "documents": []
      }
    },
    {
      "country": "GB",
      "number_type": "ALPHANUMERIC",
      "sender_value": "ExmplRetail",
      "status": "ACTIVE",
      "note": "This market's sender is live and can carry traffic.",
      "compliance": {
        "documents": [
          {
            "key": "senderid_registration_requirements",
            "file_name": "sender-id-registration.pdf",
            "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6"
          }
        ]
      }
    }
  ],
  "meta": {
    "request_id": "req_3Z0aNl7oQs",
    "timestamp": "2025-06-01T12:00:00+00:00",
    "version": "v3"
  }
}
Empty
Empty
{
  "success": false,
  "data": null,
  "error": {
    "code": "RESOURCE_004",
    "message": "The customer could not be read",
    "details": null,
    "doc_url": "https://docs.sent.dm/reference/api/error-catalog"
  },
  "meta": {
    "request_id": "req_3Z0aNl7oQs",
    "timestamp": "2025-06-01T12:00:00+00:00",
    "version": "v3"
  }
}

Get your channels GET

Every market you send SMS in, your WhatsApp account and your RCS agent — with each one's status, and what each market has supplied. **Status lives on the channel, never on you or your brand.** An identity has no lifecycle; what has one is the registration of a sender in a market and the approval of a channel. So a customer live in one country and mid-registration in another reports exactly that, rather than one flattened answer. `sms[n].compliance` carries what each market holds: `brand` and `campaign` for markets that register with a compliance regime such as US TEN_DLC, and `documents` for markets that pre-register an alphanumeric or similar sender. Absent means the market registers with nobody and nothing has been supplied. `GET /v3/compliance/requirements` says what a market demands of any new customer; this says what you gave it. Send `x-profile-id` with an organization key to read one of your profiles' channels.

Get one SMS market (country and sender type) GET

Reads one market you send in — its sender, where that sender stands, and everything its compliance holds. ## What `compliance` carries A market that registers with a compliance regime reports `brand` — the identity the registration is filed against — and `campaign`, the programme filed against it. Each carries `inherit`, saying whether it is yours or your organization's. A market that registers with nobody has neither, so **both keys are absent** rather than null: absent says this market does not ask, where null would say it asks and you supplied nothing. It reports `documents` instead. `GET /v3/compliance/requirements` says what a market demands of any new customer; this says what you gave it. ## Writing it back **`PATCH` this same path**, with the `compliance` object from this response: ```json { "compliance": { "brand": { "tax_id": "12-3456789" } } } ``` Nothing else to learn — what comes back can be sent back, an omitted key is left alone. There is no sub-resource for either half: both are singletons of the market, so both are written here. `GET /v3/compliance/requirements` says what a market demands of anybody; this says what you gave it. Send `x-profile-id` with an organization key to read one of your profiles' markets.