# Transcode a message Transcodes the message from the Conversation API format to the channel-specific formats for the requested channels. No message is sent to the contact. Endpoint: POST /v1/projects/{project_id}/messages:transcode Version: 1.0 Security: Basic, oAuth2 ## Path parameters: - `project_id` (string, required) The unique ID of the project. You can find this on the Sinch Dashboard. ## Request fields (application/json): - `app_id` (string, required) The ID of the app used to transcode the message. - `app_message` (object, required) A message originating from a Conversation API app - `app_message.explicit_channel_message` (object) Allows you to specify a channel and define a corresponding channel specific message payload that will override the standard Conversation API message types. The key in the map must point to a valid conversation channel as defined in the enum ConversationChannel. The message content must be provided in a string format. You may use the [transcoding endpoint](https://developers.sinch.com/docs/conversation/api-reference/conversation/tag/Transcoding/) to help create your message. For more information about how to construct an explicit channel message for a particular channel, see that [channel's corresponding documentation](https://developers.sinch.com/docs/conversation/channel-support/) (for example, using explicit channel messages with [the WhatsApp channel](https://developers.sinch.com/docs/conversation/channel-support/whatsapp/message-support/#explicit-channel-messages)). - `app_message.explicit_channel_omni_message` (object) Override the message's content for specified channels. The key in the map must point to a valid conversation channel as defined in the enum ConversationChannel. The content defined under the specified channel will be sent on that channel. - `app_message.channel_specific_message` (object) Channel specific messages, overriding any transcoding. The structure of this property is more well-defined than the open structure of the explicit_channel_message property, and may be easier to use. The key in the map must point to a valid conversation channel as defined in the enum ConversationChannel. - `app_message.agent` (object) Represents an agent that is involved in a conversation. - `app_message.agent.display_name` (string) Agent's display name - `app_message.agent.type` (string) Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT. Enum: "UNKNOWN_AGENT_TYPE", "HUMAN", "BOT" - `app_message.agent.picture_url` (string) The Agent's picture url. - `channels` (array, required) The list of channels for which the message shall be transcoded to. Enum: "WHATSAPP", "RCS", "SMS", "MESSENGER", "VIBERBM", "MMS", "INSTAGRAM", "TELEGRAM", "KAKAOTALK", "KAKAOTALKCHAT", "LINE", "WECHAT", "APPLEBC" - `from` (string) Optional. - `to` (string) Optional. ## Response 200 fields (application/json): - `transcoded_message` (object) The transcoded message for the different channels. The keys in the map correspond to channel names, as defined by the type ConversationChannel. ## Response 400 fields (application/json): - `error` (object) - `error.code` (integer) - `error.details` (array) - `error.details.type_url` (string) - `error.details.value` (string) - `error.message` (string) - `error.status` (string) ## Response 403 fields (application/json): - `error` (object) - `error.code` (integer) - `error.details` (array) - `error.details.type_url` (string) - `error.details.value` (string) - `error.message` (string) - `error.status` (string) ## Response 500 fields (application/json): - `error` (object) - `error.code` (integer) - `error.details` (array) - `error.details.type_url` (string) - `error.details.value` (string) - `error.message` (string) - `error.status` (string) ## Response 501 fields (application/json): - `error` (object) - `error.code` (integer) - `error.details` (array) - `error.details.type_url` (string) - `error.details.value` (string) - `error.message` (string) - `error.status` (string)