---
title: "Update a Message"
method: POST
path: "/Accounts/{AccountSid}/Messages/{Sid}"
tags: ["Messages"]
---

# Update a Message

`POST /Accounts/{AccountSid}/Messages/{Sid}`

Update a message body after it has been sent. Currently, the only supported update is redacting the message by setting the body to an empty string. Messages that are still in progress (queued or initiated status) cannot be updated.

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Messaging_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Path parameters

- `AccountSid` string, uuid, required — Universal Unique Identifier.
- `Sid` string, uuid, required — Universal Unique Identifier.

## Response `200`

The request has succeeded.

- MessageResponse — Response containing a single message.
  - `account_sid` string, uuid, required — Universal Unique Identifier.
  - `api_version` string, required — The version number of the SignalWire cXML REST API used to handle this message.
  - `body` string, nullable, required — The text of the message. Up to 1600 characters long. May be null if filtered for spam.
  - `num_segments` integer, required — The number of segments that make up the entire message.
  - `num_media` integer, required — The number of media files that were included with the message.
  - `date_created` string, required — The date and time the message was created in RFC 2822 format.
  - `date_sent` string, nullable, required — The date and time the message was sent in RFC 2822 format, or null if not yet sent.
  - `date_updated` string, required — The date and time the message was last updated in RFC 2822 format.
  - `direction` 'inbound' | 'outbound-api' | 'outbound-call' | 'outbound-reply', required — Message direction.
  - `error_code` string, nullable, required — If an error has occurred on the message, the error code will give you a specific code, or null if no error.
  - `error_message` string, nullable, required — A human readable description of the error that occurred, or null if no error.
  - `from` string, required — The phone number in E.164 format that sent the message.
  - `price` number, float, nullable, required — The cost of the individual message billed to your project, or null if not yet calculated.
  - `price_unit` string, required — The currency in which `price` is charged as.
  - `sid` string, uuid, required — Universal Unique Identifier.
  - `status` 'queued' | 'initiated' | 'sent' | 'failed' | 'delivered' | 'undelivered' | 'received', required — Message status.
  - `to` string, required — The phone number in E.164 format that received the message.
  - `messaging_service_sid` string, uuid, required — Universal Unique Identifier.
  - `uri` string, required — The URI of this particular message.
  - `subresource_uris` MessageSubresourceUris, required — Message subresource URIs.
    - `media` string, required — The URI for media.

## Other responses

- `400` — The request was invalid or cannot be processed. Check the error details for more information.
- `401` — Authentication failed. Please verify your credentials and try again.
- `404` — The requested resource was not found. Please verify the resource identifier.
- `422` — The request could not be processed due to validation errors. Check the error details for more information.

---

[API](https://skmtc.net/signalwire/apis/compatibility-api.md) · [All operations](https://skmtc.net/signalwire/apis/compatibility-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/signalwire/compatibility-api/revisions/109b2a2016ba/schema)
