Redact a message
Redact the body of a previously sent message. This endpoint clears the message body for compliance, privacy, or moderation purposes — it does not support arbitrary updates to message attributes. The only accepted value for body is an empty string (""); any other value is rejected.
Messages that are still in progress (queued or initiated) cannot be redacted. Messages in terminal states such as delivered, undelivered, or failed are eligible. Once redacted, the original body is overwritten and cannot be recovered.
The :message_id path parameter is the message segment ID — the same ID returned by the create endpoint and shown in /api/messaging/logs.
Use this SignalWire REST operation for message redaction by message segment ID. Integrations built around Message SIDs can use the Compatibility API’s Update message operation instead.
Permissions
The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging.
Authentication
SignalWire Basic Authentication using Project ID and API Token.
The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.
Example:
Authorization: Basic base64(project_id:token)
Path parameters
The message segment ID — the same ID returned by the create endpoint and shown in /api/messaging/logs.
Request
Must be an empty string ("") to redact the message. Any non-empty value is rejected with body_must_be_empty. This is the only field that can be updated.
Response
The unique ID of the message. This is the MessageSegment ID, consistent with the dashboard and the /api/messaging/logs endpoint.
Provider-specific error code if delivery failed. Null when no error occurred.
Human-readable error message if delivery failed. Null when no error occurred.
Relative URL for retrieving the message via the /api/messaging/logs endpoint.