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.
The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging.
The message segment ID — the same ID returned by the create endpoint and shown in /api/messaging/logs.
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.
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.
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: