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.
Response Body
application/json
application/json
curl -X GET "https://example.com/v3/channels/sms"{
"success": true,
"data": [
{
"country": "string",
"number_type": "string",
"sender_value": "string",
"status": "PROVISIONING",
"compliance": {
"brand": {
"property1": null,
"property2": null
},
"campaign": {
"property1": null,
"property2": null
},
"documents": [
{
"key": "string",
"file_name": "string",
"document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6"
}
]
}
}
],
"error": {
"code": "string",
"message": "string",
"details": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"doc_url": "string"
},
"meta": {
"request_id": "string",
"timestamp": "2019-08-24T14:15:22Z",
"version": "string"
}
}{
"success": true,
"error": {
"code": "string",
"message": "string",
"details": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"doc_url": "string"
},
"meta": {
"request_id": "string",
"timestamp": "2019-08-24T14:15:22Z",
"version": "string"
}
}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 still owes. **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. `compliance[]` carries one entry per market, naming the country and sender type it answers for. An empty `requirements` means that market is satisfied; anything listed is what to supply, and `GET /v3/compliance/requirements` describes each key in full. 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. `requirements` lists what is still owed, keyed as you write it — `brand.legal_name`, `campaign.message_flow`. ## 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, and a `requirements` key is the path into the body that clears it. 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.