---
title: "Update SMS channel"
method: PUT
path: "/api/channels/sms/{channel_id}"
tags: ["SMS"]
---

# Update SMS channel

`PUT /api/channels/sms/{channel_id}`

## Request

- Base URL: `https://go.urbanairship.com`
- URL: `https://go.urbanairship.com/api/channels/sms/{channel_id}`
- Auth: one of:
  - HTTP basic
  - HTTP bearer
  - OAuth 2
    - Client credentials
    - Token URL: `http://oauth2.{domain}.com/token` scopes: `chn`
- TypeScript: <https://skmtc.dev/airship/apis/airship-api/docs/api/channels/sms/:channel_id/put.ts> (a function with typed inputs; its response is checked against the schema)

Update an existing SMS channel to reflect opt-in date, time zone and/or locale changes. The `msisdn` and `sender` in the request must match the existing channel or the request will 404.

## Request body

- object
  - `locale_country` string: The ISO 3166 two-character country code. The value for this field becomes a tag in the `ua_locale_country` tag group.
  - `locale_language` string: The ISO 639-1 two-character language code. The value for this field becomes a tag in the `ua_locale_language` tag group.
  - `msisdn` string, required: The phone number corresponding to the `channel_id` in the request. You cannot change this value for the existing channel.
  - `opted_in` string, date-time: The [date-time](/developer/rest-api/ua/introduction/#date-time-format) that represents when explicit permission was received from the user to receive messages.
  - `sender` string, required: The sender corresponding to the `channel_id` in the request. You cannot change this value for an existing channel.
  - `timezone` string: The IANA identifier for a time zone, e.g., `America/Los_Angeles`. The value in this field becomes a tag in the `timezone` tag group.

## Response `200`

The SMS channel was updated successfully.

- object
  - `ok` boolean: True if the request was successful.
  - `operation_id` string, uuid: A unique identifier for an operation; you can use this identifier to find the operation for troubleshooting purposes.

## Other responses

- `400`: The request to update the channel failed. This error occurs when the MSISDN does not fall into the geographical region supported by the sender or the request is incorrect, e.g., missing or mismatching `msisdn` or `sender`, the `msisdn` is not a valid E.164 standard MSISDN, or invalid timezone/locale values are supplied.
- `404`: Occurs when the `msisdn` and/or `sender` don't match any existing `channel_id`.

## Changes

- **2025-08-28** `3304568aaadc`: 1 breaking
  - the `opted_in` request property format changed from no format to `date-time`
  - …this revision’s changelog is incomplete

[Operation history](https://skmtc.dev/airship/apis/airship-api/changes/api/channels/sms/:channel_id/put.md)

---

[API](https://skmtc.dev/airship/apis/airship-api.md) - [All operations](https://skmtc.dev/airship/apis/airship-api/llms.txt) - [OpenAPI document](https://skmtc.dev/airship/apis/airship-api/revisions/bd6ab947117a?raw)
