---
title: "Update an SMS"
method: PUT
path: "/v1/design_studio/sms/{id}"
tags: ["SMS"]
---

# Update an SMS

`PUT /v1/design_studio/sms/{id}`

## Request

- Base URL: `https://api.customer.io`
- URL: `https://api.customer.io/v1/design_studio/sms/{id}`
- Auth: none declared

Update an SMS's name, folder, content, recipient, or sender. You only need to send the fields you want to change; Customer.io keeps the current value of any field you leave out.

If the SMS is linked to a workflow, you need to [publish your changes](/integrations/api/design-studio/tag/sms-link-and-publish/publishSms/) so your audience receives the latest content.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `name` string: A new friendly name for the SMS.
  - `parent_folder_id` string, uuid, nullable: UUID of the folder you want to move the SMS into. Pass `null` to move the SMS to the root level.
  - `content` string: The new message, written as SMS markup. See the `content` field on [Create an SMS](/integrations/api/design-studio/tag/sms/createSms/) for the format. If you pass an empty string, Customer.io clears the content, and you'll need to add content again before you can publish the SMS.
  - `recipient` string: New liquid that resolves to the phone number of the person you're messaging, like `{{customer.phone}}`. If you pass an empty string, Customer.io clears the recipient and sends to `{{customer.phone}}`.
  - `sender_id` integer, nullable: The ID of the sender identity to send the SMS from. Pass `null` to clear the sender; you'll need to set one again before you can publish the SMS.

## Response `204`

SMS updated, no content returned

## Other responses

- `400`: The request is invalid due to malformed parameters, missing required fields, or constraint violations.
- `401`: Authentication failed due to a missing or invalid API key.
- `404`: The requested resource was not found.
- `422`: The `content` has invalid SMS markup, or the liquid in `content` or `recipient` is invalid. Customer.io only checks the fields you send. Each error's `source.pointer` names the field that failed, as `/data/attributes/content` or `/data/attributes/recipient`.

## Changes

- **2026-10-08** `6378ded43e43`: 2 info
  - api tag `SMS` added
  - api tag `Design Studio SMS` removed
- **2026-10-06** `b0a0db5fbc21`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/changes/v1/design_studio/sms/:id/put.md)

---

[API](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference.md) - [All operations](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/revisions/ac0b282053fe?raw)
