---
title: "Update message metadata"
method: PATCH
path: "/v1/projects/{project_id}/messages/{message_id}"
tags: ["Messages"]
---

# Update message metadata

`PATCH /v1/projects/{project_id}/messages/{message_id}`

Update a specific message metadata by its ID.

## Request body

- UpdateMessageMetadataRequest
  - `metadata` string, required

## Response `200`

A successful response.

- union
  - object — A message on a particular channel.
    - `app_message` union
      - object — Field containing a Card Message
        - `card_message` CardMessage — Message containing text, media and choices.
          - `choices` Choice[] — You may include choices in your Card Message. The number of choices is limited to 10.
            - union
              - …
          - `description` string — This is an optional description field that is displayed below the title on the card.
          - `height` 'UNSPECIFIED_HEIGHT' | 'SHORT' | 'MEDIUM' | 'TALL' — You can set the desired size of the card in the message.
          - `title` string — The title of the card message.
          - `media_message` MediaProperties
            - `thumbnail_url` string — An optional parameter. Will be used where it is natively supported.
            - `url` string, required — Url to the media file.
            - `filename_override` string — Overrides the media file name.
          - `message_properties` object — Optional additional properties.
            - `whatsapp_header` string — Optional. Sets the header for the footer of a WhatsApp reply button message, if there is no media in the message. Ignored for other channels. Ignored if not transcoded to a native WhatsApp message with reply buttons.
        - `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)).
        - `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.
        - `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`.
        - `agent` Agent — Represents an agent that is involved in a conversation.
          - `display_name` string — Agent's display name
          - `type` 'UNKNOWN_AGENT_TYPE' | 'HUMAN' | 'BOT' — Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT.
          - `picture_url` string — The Agent's picture url.
      - object — Message containing a list of cards often rendered horizontally on supported channels.
        - `carousel_message` object
          - `cards` CardMessage[], required — A list of up to 10 cards.
            - `choices` Choice[] — You may include choices in your Card Message. The number of choices is limited to 10.
              - …
            - `description` string — This is an optional description field that is displayed below the title on the card.
            - `height` 'UNSPECIFIED_HEIGHT' | 'SHORT' | 'MEDIUM' | 'TALL' — You can set the desired size of the card in the message.
            - `title` string — The title of the card message.
            - `media_message` MediaProperties
              - …
            - `message_properties` object — Optional additional properties.
              - …
          - `choices` Choice[] — Optional. Outer choices on the carousel level. The number of outer choices is limited to 3.
            - union
              - …
        - `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)).
        - `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.
        - `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`.
        - `agent` Agent — Represents an agent that is involved in a conversation.
          - `display_name` string — Agent's display name
          - `type` 'UNKNOWN_AGENT_TYPE' | 'HUMAN' | 'BOT' — Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT.
          - `picture_url` string — The Agent's picture url.
      - object — Message containing choices/actions.
        - `choice_message` object — Additional properties for the message.
          - `choices` Choice[], required — The number of choices is limited to 10.
            - union
              - …
          - `text_message` object
            - `text` string, required — The text to be sent.
          - `message_properties` object
            - `whatsapp_footer` string — Optional. Sets the text for the footer of a WhatsApp reply button or URL button message. Ignored for other channels.
        - `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)).
        - `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.
        - `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`.
        - `agent` Agent — Represents an agent that is involved in a conversation.
          - `display_name` string — Agent's display name
          - `type` 'UNKNOWN_AGENT_TYPE' | 'HUMAN' | 'BOT' — Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT.
          - `picture_url` string — The Agent's picture url.
      - object — Message containing geographic location.
        - `location_message` object
          - `coordinates` Coordinates, required
            - `latitude` number, float, required — The latitude.
            - `longitude` number, float, required — The longitude.
          - `label` string — Label or name for the position.
          - `title` string, required — The title is shown close to the button or link that leads to a map showing the location. The title can be clickable in some cases.
        - `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)).
        - `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.
        - `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`.
        - `agent` Agent — Represents an agent that is involved in a conversation.
          - `display_name` string — Agent's display name
          - `type` 'UNKNOWN_AGENT_TYPE' | 'HUMAN' | 'BOT' — Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT.
          - `picture_url` string — The Agent's picture url.
      - object — A message containing a media component, such as an image, document, or video.
        - `media_message` MediaProperties
          - `thumbnail_url` string — An optional parameter. Will be used where it is natively supported.
          - `url` string, required — Url to the media file.
          - `filename_override` string — Overrides the media file name.
        - `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)).
        - `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.
        - `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`.
        - `agent` Agent — Represents an agent that is involved in a conversation.
          - `display_name` string — Agent's display name
          - `type` 'UNKNOWN_AGENT_TYPE' | 'HUMAN' | 'BOT' — Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT.
          - `picture_url` string — The Agent's picture url.
      - object — Message referring to predefined template
        - `template_message` object
          - `channel_template` object — Optional. Channel specific template reference with parameters per channel. The channel template if exists overrides the omnichannel template. At least one of `channel_template` or `omni_template` needs to be present. The key in the map must point to a valid conversation channel as defined by the enum ConversationChannel.
          - `omni_template` TemplateReferenceWithVersion — The referenced template can be an omnichannel template stored in Conversation API Template Store as an AppMessage. You may also reference external channel-specific templates, such as a WhatsApp Business Template. Note that channel-specific template references are not supported when populating the `explicit_channel_omni_message` field.
            - `version` string, required — Used to specify what version of a template to use. Required when using `omni_channel_override` and `omni_template` fields. This will be used in conjunction with `language_code`. Note that, when referencing omni-channel templates using the [Sinch Customer Dashboard](https://dashboard.sinch.com/), the latest version of a given omni-template can be identified by populating this field with `latest`.
            - `language_code` string — The BCP-47 language code, such as `en_US` or `sr_Latn`. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. English is the default `language_code`. Note that, while many API calls involving templates accept either the dashed format (`en-US`) or the underscored format (`en_US`), some channel specific templates (for example, WhatsApp channel-specific templates) only accept the underscored format. Note that this field is required for WhatsApp channel-specific templates.
            - `parameters` object — Required if the template has parameters. Concrete values must be present for all defined parameters in the template. Parameters can be different for different versions and/or languages of the template.
            - `template_id` string, required — The ID of the template. Note that, in the case of WhatsApp channel-specific templates, this field must be populated by the name of the template.
        - `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)).
        - `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.
        - `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`.
        - `agent` Agent — Represents an agent that is involved in a conversation.
          - `display_name` string — Agent's display name
          - `type` 'UNKNOWN_AGENT_TYPE' | 'HUMAN' | 'BOT' — Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT.
          - `picture_url` string — The Agent's picture url.
      - object — A message containing only text.
        - `text_message` object
          - `text` string, required — The text to be sent.
        - `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)).
        - `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.
        - `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`.
        - `agent` Agent — Represents an agent that is involved in a conversation.
          - `display_name` string — Agent's display name
          - `type` 'UNKNOWN_AGENT_TYPE' | 'HUMAN' | 'BOT' — Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT.
          - `picture_url` string — The Agent's picture url.
      - object — A message containing a list of options to choose from. All items must be of the same type.
        - `list_message` object
          - `title` string, required — A title for the message that is displayed near the products or choices.
          - `description` string — This is an optional field, containing a description for the message.
          - `media` MediaProperties
            - `thumbnail_url` string — An optional parameter. Will be used where it is natively supported.
            - `url` string, required — Url to the media file.
            - `filename_override` string — Overrides the media file name.
          - `sections` ListSection[], required — List of ListSection objects containing choices to be presented in the list message.
            - `title` string — Optional parameter. Title for list section.
            - `items` ListItem[], required
              - …
          - `message_properties` object — Additional properties for the message. Required if sending a product list message.
            - `catalog_id` string — Required if sending a product list message. The ID of the catalog to which the products belong.
            - `menu` string — Optional. Sets the text for the menu of a choice list message.
            - `whatsapp_header` string — Optional. Sets the text for the header of a WhatsApp choice list message. Ignored for other channels.
        - `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)).
        - `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.
        - `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`.
        - `agent` Agent — Represents an agent that is involved in a conversation.
          - `display_name` string — Agent's display name
          - `type` 'UNKNOWN_AGENT_TYPE' | 'HUMAN' | 'BOT' — Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT.
          - `picture_url` string — The Agent's picture url.
      - object — Message containing contact information.
        - `contact_info_message` object
          - `name` NameInfo, required — Name information of the contact.
            - `full_name` string, required — Full name of the contact
            - `first_name` string — First name.
            - `last_name` string — Last name.
            - `middle_name` string — Middle name.
            - `prefix` string — Prefix before the name. e.g. Mr, Mrs, Dr etc.
            - `suffix` string — Suffix after the name.
          - `phone_numbers` PhoneNumberInfo[], required — Phone numbers of the contact
            - `phone_number` string, required — Phone number with country code included.
            - `type` string — Phone number type, e.g. WORK or HOME.
          - `addresses` AddressInfo[] — Physical addresses of the contact
            - `city` string — City Name
            - `country` string — Country Name
            - `state` string — Name of a state or region of a country.
            - `zip` string — Zip/postal code
            - `type` string — Address type, e.g. WORK or HOME
            - `country_code` string — Two letter country code.
          - `email_addresses` EmailInfo[] — Email addresses of the contact
            - `email_address` string, required — Email address.
            - `type` string — Email address type. e.g. WORK or HOME.
          - `organization` OrganizationInfo — Organization information of the contact.
            - `company` string — Company name
            - `department` string — Department at the company
            - `title` string — Corporate title, e.g. Software engineer
          - `urls` UrlInfo[] — URLs/websites associated with the contact
            - `url` string, required — The URL to be referenced
            - `type` string — Optional. URL type, e.g. Org or Social
          - `birthday` string — Date of birth in YYYY-MM-DD format.
        - `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)).
        - `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.
        - `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`.
        - `agent` Agent — Represents an agent that is involved in a conversation.
          - `display_name` string — Agent's display name
          - `type` 'UNKNOWN_AGENT_TYPE' | 'HUMAN' | 'BOT' — Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT.
          - `picture_url` string — The Agent's picture url.
    - `accept_time` string, date-time — The time Conversation API processed the message.
    - `channel_identity` ChannelIdentity — A unique identity of message recipient on a particular channel. For example, the channel identity on SMS, WHATSAPP or VIBERBM is a MSISDN phone number.
      - `app_id` string — Required if using a channel that uses app-scoped channel identities. Currently, FB Messenger, Instagram, LINE, and WeChat use app-scoped channel identities, which means contacts will have different channel identities on different Conversation API apps. These can be thought of as virtual identities that are app-specific and, therefore, the app_id must be included in the API call.
      - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC', required — The identifier of the channel you want to include. Must be one of the enum values.
      - `identity` string, required — The channel identity. This will differ from channel to channel. For example, a phone number for SMS, WhatsApp, and Viber Business.
    - `contact_id` string — The ID of the contact.
    - `conversation_id` string — The ID of the conversation.
    - `direction` 'TO_APP' | 'TO_CONTACT' — The direction of the message flow, indicating whether the message was sent to or from the Conversation API app.
    - `id` string — The ID of the message.
    - `metadata` string — Optional. Metadata associated with the contact. Up to 1024 characters long.
    - `injected` boolean — Flag for whether this message was injected.
    - `sender_id` string — For Contact Messages (MO messages), the sender ID represents the recipient to which the message was sent. This may be a phone number (in the case of SMS and MMS) or a unique ID (in the case of WhatsApp). This is field is not supported on all channels, nor is it supported for MT messages.
    - `processing_mode` 'CONVERSATION' | 'DISPATCH' — Whether or not Conversation API should store contacts and conversations for the app. For more information, see [Processing Modes](https://developers.sinch.com/docs/conversation/processing-modes/).
  - object — A message on a particular channel.
    - `contact_message` union
      - object — If the contact message was a response to a previous App message then this field contains information about that.
        - `channel_specific_message` object
          - `message_type` 'nfm_reply' — The message type.
          - `message` WhatsAppInteractiveNfmReplyChannelSpecificContactMessage — A WhatsApp interactive contact message containing the nfm_reply.
            - `type` 'nfm_reply', required — The interactive message type.
            - `nfm_reply` WhatsAppInteractiveNfmReply, required — The interactive nfm reply message.
              - …
        - `reply_to` object
          - `message_id` string, required — Required. The Id of the message that this is a response to
      - object — If the contact message was a response to a previous App message then this field contains information about that.
        - `choice_response_message` object
          - `message_id` string, required — The message id containing the choice.
          - `postback_data` string, required — The postback_data defined in the selected choice.
        - `reply_to` object
          - `message_id` string, required — Required. The Id of the message that this is a response to
      - object — If the contact message was a response to a previous App message then this field contains information about that.
        - `fallback_message` object
          - `raw_message` string — Optional. The raw fallback message if provided by the channel.
          - `reason` Reason
            - `code` 'UNKNOWN' | 'INTERNAL_ERROR' | 'RATE_LIMITED' | 'RECIPIENT_INVALID_CHANNEL_IDENTITY' | 'RECIPIENT_NOT_REACHABLE' | 'RECIPIENT_NOT_OPTED_IN' | 'OUTSIDE_ALLOWED_SENDING_WINDOW' | 'CHANNEL_FAILURE' | 'CHANNEL_BAD_CONFIGURATION' | 'CHANNEL_CONFIGURATION_MISSING' | 'MEDIA_TYPE_UNSUPPORTED' | 'MEDIA_TOO_LARGE' | 'MEDIA_NOT_REACHABLE' | 'NO_CHANNELS_LEFT' | 'TEMPLATE_NOT_FOUND' | 'TEMPLATE_INSUFFICIENT_PARAMETERS' | 'TEMPLATE_NON_EXISTING_LANGUAGE_OR_VERSION' | 'DELIVERY_TIMED_OUT' | 'DELIVERY_REJECTED_DUE_TO_POLICY' | 'CONTACT_NOT_FOUND' | 'BAD_REQUEST' | 'UNKNOWN_APP' | 'NO_CHANNEL_IDENTITY_FOR_CONTACT' | 'CHANNEL_REJECT' | 'NO_PERMISSION' | 'NO_PROFILE_AVAILABLE' | 'UNSUPPORTED_OPERATION'
            - `description` string — A textual description of the reason.
            - `sub_code` 'UNSPECIFIED_SUB_CODE' | 'ATTACHMENT_REJECTED' | 'MEDIA_TYPE_UNDETERMINED' | 'INACTIVE_SENDER'
            - `channel_code` string — Error code forwarded directly from the channel. Useful in case of unmapped or channel specific errors. Currently only supported on the WhatsApp channel.
        - `reply_to` object
          - `message_id` string, required — Required. The Id of the message that this is a response to
      - object — If the contact message was a response to a previous App message then this field contains information about that.
        - `location_message` object
          - `coordinates` Coordinates, required
            - `latitude` number, float, required — The latitude.
            - `longitude` number, float, required — The longitude.
          - `label` string — Label or name for the position.
          - `title` string, required — The title is shown close to the button or link that leads to a map showing the location. The title can be clickable in some cases.
        - `reply_to` object
          - `message_id` string, required — Required. The Id of the message that this is a response to
      - object — If the contact message was a response to a previous App message then this field contains information about that.
        - `media_card_message` object
          - `caption` string — Caption for the media on supported channels.
          - `url` string, required — Url to the media file.
        - `reply_to` object
          - `message_id` string, required — Required. The Id of the message that this is a response to
      - object — If the contact message was a response to a previous App message then this field contains information about that.
        - `media_message` MediaProperties
          - `thumbnail_url` string — An optional parameter. Will be used where it is natively supported.
          - `url` string, required — Url to the media file.
          - `filename_override` string — Overrides the media file name.
        - `reply_to` object
          - `message_id` string, required — Required. The Id of the message that this is a response to
      - object — If the contact message was a response to a previous App message then this field contains information about that.
        - `product_response_message` object
          - `products` ProductItem[] — The selected products.
            - `id` string, required — Required parameter. The ID for the product.
            - `marketplace` string, required — Required parameter. The marketplace to which the product belongs.
            - `quantity` integer — Output only. The quantity of the chosen product.
            - `item_price` number, float — Output only. The price for one unit of the chosen product.
            - `currency` string — Output only. The currency of the item_price.
          - `title` string — Optional parameter. Text that may be sent with selected products.
          - `catalog_id` string — Optional parameter. The catalog id that the selected products belong to.
        - `reply_to` object
          - `message_id` string, required — Required. The Id of the message that this is a response to
      - object — If the contact message was a response to a previous App message then this field contains information about that.
        - `text_message` object
          - `text` string, required — The text to be sent.
        - `reply_to` object
          - `message_id` string, required — Required. The Id of the message that this is a response to
    - `accept_time` string, date-time — The time Conversation API processed the message.
    - `channel_identity` ChannelIdentity — A unique identity of message recipient on a particular channel. For example, the channel identity on SMS, WHATSAPP or VIBERBM is a MSISDN phone number.
      - `app_id` string — Required if using a channel that uses app-scoped channel identities. Currently, FB Messenger, Instagram, LINE, and WeChat use app-scoped channel identities, which means contacts will have different channel identities on different Conversation API apps. These can be thought of as virtual identities that are app-specific and, therefore, the app_id must be included in the API call.
      - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC', required — The identifier of the channel you want to include. Must be one of the enum values.
      - `identity` string, required — The channel identity. This will differ from channel to channel. For example, a phone number for SMS, WhatsApp, and Viber Business.
    - `contact_id` string — The ID of the contact.
    - `conversation_id` string — The ID of the conversation.
    - `direction` 'TO_APP' | 'TO_CONTACT' — The direction of the message flow, indicating whether the message was sent to or from the Conversation API app.
    - `id` string — The ID of the message.
    - `metadata` string — Optional. Metadata associated with the contact. Up to 1024 characters long.
    - `injected` boolean — Flag for whether this message was injected.
    - `sender_id` string — For Contact Messages (MO messages), the sender ID represents the recipient to which the message was sent. This may be a phone number (in the case of SMS and MMS) or a unique ID (in the case of WhatsApp). This is field is not supported on all channels, nor is it supported for MT messages.
    - `processing_mode` 'CONVERSATION' | 'DISPATCH' — Whether or not Conversation API should store contacts and conversations for the app. For more information, see [Processing Modes](https://developers.sinch.com/docs/conversation/processing-modes/).

## Other responses

- `400` — Malformed request. See [common error responses](https://developers.sinch.com/docs/conversation/api-reference/#common-error-responses) for more information.
- `401` — Incorrect credentials. See [common error responses](https://developers.sinch.com/docs/conversation/api-reference/#common-error-responses) for more information.
- `403` — Correct credentials but you don't have access to the requested resource. See [common error responses](https://developers.sinch.com/docs/conversation/api-reference/#common-error-responses) for more information.
- `500` — Correct credentials but you don't have access to the requested resource. See [common error responses](https://developers.sinch.com/docs/conversation/api-reference/#common-error-responses) for more information.
- `501` — Something went wrong on our end, try again with exponential back-off. See [common error responses](https://developers.sinch.com/docs/conversation/api-reference/#common-error-responses) for more information.

---

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