---
title: "Get newsletter messages"
method: GET
path: "/newsletters/{NewsletterID}/messages"
tags: ["Newsletters"]
---

# Get newsletter messages

`GET /newsletters/{NewsletterID}/messages`

The method returns the history of WhatsApp Channel messages

## Path parameters

- `NewsletterID` string, required — Newsletter ID

## Query parameters

- `count` number
- `before` number
- `after` number

## Response `200`

OK

- MessagesList
  - `messages` Message[]
    - `id` string, required — Message ID
    - `type` 'text' | 'image' | 'video' | 'gif' | 'audio' | 'voice' | 'short' | 'document' | 'documentWithCaption' | 'link_preview' | 'location' | 'live_location' | 'contact' | 'contact_list' | 'sticker' | 'system' | 'call' | 'unknown' | 'action' | 'group_invite' | 'newsletter_invite' | 'admin_invite' | 'product' | 'catalog' | 'interactive' | 'reply' | 'poll' | 'quiz' | 'question' | 'hsm' | 'order' | 'story' | 'event' | 'buttons' | 'list' | 'pin' | 'carousel' | 'album', required — Message type
    - `subtype` string — Message subtype
    - `chat_id` string, required — Chat ID
    - `chat_name` string — Chat name
    - `from` string — WhatsApp ID of the sender
    - `phone` string — Phone number of the sender
    - `from_me` boolean, required — Is message from me
    - `from_name` string — Pushname of the sender
    - `source` 'web' | 'mobile' | 'api' | 'system' | 'business_api' | 'unknown' — Message source
    - `timestamp` number, required — Message timestamp
    - `device_id` number — Device ID, if the message was not sent through the app
    - `status` 'failed' | 'pending' | 'sent' | 'delivered' | 'read' | 'played' | 'deleted' — Message ack status
    - `text` MessageContentText
      - `body` string, required — Message text
      - `buttons` Button[]
        - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
        - `title` string, required — Button text
        - `id` string, required — Button ID
        - `copy_code` string — Button code for copy type
        - `phone_number` string — Button phone number for call type
        - `url` string — Button url for url type
        - `merchant_url` string — Button merchant_url for url type
      - `sections` object[] — Section of the message
        - `title` string — Title of the section
        - `rows` object[] — Rows of the section
          - `title` string — Title of the row
          - `description` string — Description of the row
          - `id` string — Row ID
        - `product_items` object[] — Product items of the section
          - `catalog_id` string — Catalog ID
          - `product_id` string — Product ID
      - `button` string — Button text for list of message
      - `view_once` boolean — Is view once
    - `image` MessageContentImage
      - `id` string, required — Media ID
      - `link` string — Optional. Link to media
      - `mime_type` string, required — Mime type of media
      - `file_size` integer, required — File size in bytes
      - `file_name` string — Optional. File name
      - `sha256` string — Checksum
      - `timestamp` number — Created at
      - `caption` string — Optional. Text caption under the media.
      - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
      - `width` integer — Width of the media in pixels
      - `height` integer — Height of the media in pixels
      - `buttons` Button[]
        - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
        - `title` string, required — Button text
        - `id` string, required — Button ID
        - `copy_code` string — Button code for copy type
        - `phone_number` string — Button phone number for call type
        - `url` string — Button url for url type
        - `merchant_url` string — Button merchant_url for url type
      - `view_once` boolean — Is view once
    - `video` MessageContentVideo
      - `id` string, required — Media ID
      - `link` string — Optional. Link to media
      - `mime_type` string, required — Mime type of media
      - `file_size` integer, required — File size in bytes
      - `file_name` string — Optional. File name
      - `sha256` string — Checksum
      - `timestamp` number — Created at
      - `caption` string — Optional. Text caption under the media.
      - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
      - `width` integer — Width of the media in pixels
      - `height` integer — Height of the media in pixels
      - `seconds` integer — Optional. For video files, this field indicates the duration of the video file in seconds.
      - `autoplay` boolean — Optional. If the media is a GIF, this field indicates whether the GIF should be played automatically when the message is received.
      - `buttons` Button[]
        - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
        - `title` string, required — Button text
        - `id` string, required — Button ID
        - `copy_code` string — Button code for copy type
        - `phone_number` string — Button phone number for call type
        - `url` string — Button url for url type
        - `merchant_url` string — Button merchant_url for url type
      - `view_once` boolean — Is view once
    - `short` MessageContentVideo
      - `id` string, required — Media ID
      - `link` string — Optional. Link to media
      - `mime_type` string, required — Mime type of media
      - `file_size` integer, required — File size in bytes
      - `file_name` string — Optional. File name
      - `sha256` string — Checksum
      - `timestamp` number — Created at
      - `caption` string — Optional. Text caption under the media.
      - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
      - `width` integer — Width of the media in pixels
      - `height` integer — Height of the media in pixels
      - `seconds` integer — Optional. For video files, this field indicates the duration of the video file in seconds.
      - `autoplay` boolean — Optional. If the media is a GIF, this field indicates whether the GIF should be played automatically when the message is received.
      - `buttons` Button[]
        - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
        - `title` string, required — Button text
        - `id` string, required — Button ID
        - `copy_code` string — Button code for copy type
        - `phone_number` string — Button phone number for call type
        - `url` string — Button url for url type
        - `merchant_url` string — Button merchant_url for url type
      - `view_once` boolean — Is view once
    - `gif` MessageContentVideo
      - `id` string, required — Media ID
      - `link` string — Optional. Link to media
      - `mime_type` string, required — Mime type of media
      - `file_size` integer, required — File size in bytes
      - `file_name` string — Optional. File name
      - `sha256` string — Checksum
      - `timestamp` number — Created at
      - `caption` string — Optional. Text caption under the media.
      - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
      - `width` integer — Width of the media in pixels
      - `height` integer — Height of the media in pixels
      - `seconds` integer — Optional. For video files, this field indicates the duration of the video file in seconds.
      - `autoplay` boolean — Optional. If the media is a GIF, this field indicates whether the GIF should be played automatically when the message is received.
      - `buttons` Button[]
        - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
        - `title` string, required — Button text
        - `id` string, required — Button ID
        - `copy_code` string — Button code for copy type
        - `phone_number` string — Button phone number for call type
        - `url` string — Button url for url type
        - `merchant_url` string — Button merchant_url for url type
      - `view_once` boolean — Is view once
    - `audio` MessageContentAudio
      - `id` string, required — Media ID
      - `link` string — Optional. Link to media
      - `mime_type` string, required — Mime type of media
      - `file_size` integer, required — File size in bytes
      - `file_name` string — Optional. File name
      - `sha256` string — Checksum
      - `timestamp` number — Created at
      - `seconds` integer — Optional. For audio files, this field indicates the duration of the audio file in seconds.
      - `recording_time` number — Time in seconds to simulate recording voice
      - `waveform` string — Voice message waveform
      - `view_once` boolean — Is view once
    - `voice` MessageContentAudio
      - `id` string, required — Media ID
      - `link` string — Optional. Link to media
      - `mime_type` string, required — Mime type of media
      - `file_size` integer, required — File size in bytes
      - `file_name` string — Optional. File name
      - `sha256` string — Checksum
      - `timestamp` number — Created at
      - `seconds` integer — Optional. For audio files, this field indicates the duration of the audio file in seconds.
      - `recording_time` number — Time in seconds to simulate recording voice
      - `waveform` string — Voice message waveform
      - `view_once` boolean — Is view once
    - `document` MessageContentDocument
      - `id` string, required — Media ID
      - `link` string — Optional. Link to media
      - `mime_type` string, required — Mime type of media
      - `file_size` integer, required — File size in bytes
      - `file_name` string — Optional. File name
      - `sha256` string — Checksum
      - `timestamp` number — Created at
      - `caption` string — Optional. Text caption under the document.
      - `filename` string — Optional. File name
      - `page_count` integer — Optional. Number of pages
      - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
      - `buttons` Button[]
        - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
        - `title` string, required — Button text
        - `id` string, required — Button ID
        - `copy_code` string — Button code for copy type
        - `phone_number` string — Button phone number for call type
        - `url` string — Button url for url type
        - `merchant_url` string — Button merchant_url for url type
      - `view_once` boolean — Is view once
    - `link_preview` MessageContentLinkPreview — If 'body' contains a link, this props can be used to create custom preview link
      - `body` string, required — Message text
      - `url` string — URL of the link
      - `id` string — Media ID
      - `link` string — Optional. Link to media
      - `sha256` string — Checksum
      - `catalog_id` string — Contact ID
      - `newsletter_id` string — Newsletter ID
      - `invite_code` string — Invite code
      - `title` string, required — Title of the link
      - `description` string — Description of the link
      - `canonical` string — Canonical URL of the link (for example, if the link is shortened)
      - `preview` string — Base64 encoded image for mini version link preview. In JPEG format
      - `view_once` boolean — Is view once
    - `sticker` MessageContentSticker
      - `id` string, required — Media ID
      - `link` string — Optional. Link to media
      - `mime_type` string, required — Mime type of media
      - `file_size` integer, required — File size in bytes
      - `file_name` string — Optional. File name
      - `sha256` string — Checksum
      - `timestamp` number — Created at
      - `animated` boolean — Optional. For stickers, this field indicates whether the sticker is animated.
      - `width` integer — Width of the media in pixels
      - `height` integer — Height of the media in pixels
      - `preview` string — Optional. Base64 encoded preview of the media. In PNG format.
      - `view_once` boolean — Is view once
    - `location` MessageContentLocation
      - `latitude` number, double, required — Latitude of location being sent
      - `longitude` number, double, required — Longitude of location being sent
      - `address` string — Address of the location
      - `name` string — Name of the location
      - `url` string — URL for the website where the user downloaded the location information
      - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
      - `accuracy` integer — Accuracy of the location in meters
      - `speed` integer — Speed of the location in meters per second
      - `degrees` integer — Degrees clockwise from true north
      - `comment` string — Optional. Comment for the location
      - `view_once` boolean — Is view once
    - `live_location` MessageContentLiveLocation
      - `latitude` number, double, required — Latitude of live location being sent
      - `longitude` number, double, required — Longitude of live location being sent
      - `accuracy` integer — Accuracy of the live location in meters
      - `speed` integer — Speed of the live location in meters per second
      - `degrees` integer — Degrees clockwise from true north
      - `caption` string — Optional. Text caption under the live location
      - `sequence_number` integer — Optional. Sequence number of the live location for event tracking
      - `time_offset` number — Optional. Time offset of the live location
      - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
      - `view_once` boolean — Is view once
    - `contact` MessageContentContact
      - `name` string — Name of contact
      - `vcard` string — Vcard of contact
    - `contact_list` MessageContentContacts
      - `list` VCard[]
        - `name` string — Name of contact
        - `vcard` string — Vcard of contact
    - `interactive` MessageContentInteractive
      - `header` object — Header of interactive
        - `text` string
      - `body` object, required — Body of interactive
        - `text` string — Text of body
      - `footer` object — Footer of interactive
        - `text` string — Text of footer
      - `action` InteractiveAction, required
        - `list` object
          - `sections` object[], required — Section of the message
            - `title` string — Title of the section
            - `rows` object[] — Rows of the section
              - …
          - `label` string, required — Text for list of message
        - `buttons` Button[] — Buttons
          - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
          - `title` string, required — Button text
          - `id` string, required — Button ID
          - `copy_code` string — Button code for copy type
          - `phone_number` string — Button phone number for call type
          - `url` string — Button url for url type
          - `merchant_url` string — Button merchant_url for url type
        - `product` ActionProduct
          - `catalog_id` string — Catalog ID
          - `product_id` string — Product ID
      - `type` 'list' | 'button' | 'product', required — Interactive type
      - `id` string, required — Media ID
      - `link` string — Optional. Link to media
      - `mime_type` string, required — Mime type of media
      - `file_size` integer, required — File size in bytes
      - `file_name` string — Optional. File name
      - `sha256` string — Checksum
      - `timestamp` number — Created at
      - `view_once` boolean — Is view once
    - `poll` MessageContentPoll
      - `title` string, required — Title of poll
      - `options` string[], required — Options of poll
      - `vote_limit` integer — Number of selectable options in poll (1 - can choose only one option, 0 - any number of options)
      - `end_time` integer — Poll end timestamp
      - `hide_participant_name` boolean — Hide participant names in poll results
      - `allow_add_option` boolean — Allow participants to add options
      - `total` integer — Total count of selected options
      - `results` PollResults[]
        - `id` string, required — option ID
        - `name` string, required — option name
        - `count` integer, required — Number of votes for this option
        - `voters` ContactID[], required — List of users who voted for this option
      - `view_once` boolean — Is view once
    - `quiz` MessageContentQuiz
      - `title` string, required — Title of poll
      - `options` string[], required — Options of poll
      - `vote_limit` integer — Number of selectable options in poll (1 - can choose only one option, 0 - any number of options)
      - `end_time` integer — Poll end timestamp
      - `hide_participant_name` boolean — Hide participant names in poll results
      - `allow_add_option` boolean — Allow participants to add options
      - `total` integer — Total count of selected options
      - `correct_answer` string — Correct option for quiz
      - `results` PollResults[]
        - `id` string, required — option ID
        - `name` string, required — option name
        - `count` integer, required — Number of votes for this option
        - `voters` ContactID[], required — List of users who voted for this option
      - `view_once` boolean — Is view once
    - `question` MessageContentQuestion
      - `body` string — Question text
      - `total` integer — Total count of responses
      - `responses` QuestionAnswer[] — Question responses
        - `participant` string — Contact ID
        - `text` string — Answer text
        - `timestamp` integer — Response timestamp
    - `hsm` MessageContentHSM
      - `header` object — Header
        - `type` 'text' | 'image' | 'video' | 'document' | 'location' — Header type
        - `text` MessagePropsText
          - `body` string, required — Message text
        - `image` MediaFile
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
        - `video` MediaFile
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
        - `document` MediaFile
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
        - `location` MessageContentLocation
          - `latitude` number, double, required — Latitude of location being sent
          - `longitude` number, double, required — Longitude of location being sent
          - `address` string — Address of the location
          - `name` string — Name of the location
          - `url` string — URL for the website where the user downloaded the location information
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `accuracy` integer — Accuracy of the location in meters
          - `speed` integer — Speed of the location in meters per second
          - `degrees` integer — Degrees clockwise from true north
          - `comment` string — Optional. Comment for the location
          - `view_once` boolean — Is view once
      - `body` string — Message text
      - `footer` string — Message footer
      - `buttons` HSMButton[] — Buttons
        - `id` string — ID of the button
        - `type` 'simple' | 'reply' | 'url' | 'phone_number' | 'copy_code' — Type of button
        - `text` string — Button text
        - `url` string — URL
        - `phone_number` string — Phone number
        - `copy_code` string — Code
    - `system` MessageContentSystem
      - `body` string — Message body
    - `order` MessageContentOrder
      - `order_id` string — Order ID
      - `seller` string — Seller ID (Contact ID)
      - `title` string — Order title
      - `text` string — Order message text
      - `token` string — Base64 secret token
      - `item_count` number — Total products count
      - `currency` 'USD' | 'EUR' | 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL' — Currency
      - `total_price` number — Total order price
      - `status` 'new' | 'accepted' | 'canceled' — Order status
      - `preview` string — Order preview base64 image JPEG
    - `group_invite` MessageContentLinkPreview — If 'body' contains a link, this props can be used to create custom preview link
      - `body` string, required — Message text
      - `url` string — URL of the link
      - `id` string — Media ID
      - `link` string — Optional. Link to media
      - `sha256` string — Checksum
      - `catalog_id` string — Contact ID
      - `newsletter_id` string — Newsletter ID
      - `invite_code` string — Invite code
      - `title` string, required — Title of the link
      - `description` string — Description of the link
      - `canonical` string — Canonical URL of the link (for example, if the link is shortened)
      - `preview` string — Base64 encoded image for mini version link preview. In JPEG format
      - `view_once` boolean — Is view once
    - `newsletter_invite` MessageContentLinkPreview — If 'body' contains a link, this props can be used to create custom preview link
      - `body` string, required — Message text
      - `url` string — URL of the link
      - `id` string — Media ID
      - `link` string — Optional. Link to media
      - `sha256` string — Checksum
      - `catalog_id` string — Contact ID
      - `newsletter_id` string — Newsletter ID
      - `invite_code` string — Invite code
      - `title` string, required — Title of the link
      - `description` string — Description of the link
      - `canonical` string — Canonical URL of the link (for example, if the link is shortened)
      - `preview` string — Base64 encoded image for mini version link preview. In JPEG format
      - `view_once` boolean — Is view once
    - `admin_invite` MessageContentNewsletterAdminInvite
      - `body` string, required — Message text
      - `newsletter_id` string, required — Newsletter ID
      - `newsletter_name` string, required — Newsletter name
      - `expiration` number, required — Expiration timestamp of the invitation
      - `preview` string — Base64 encoded newsletter preview image. In JPEG format
    - `product` MessageContentProduct
      - `catalog_id` string — Catalog ID
      - `product_id` string — Product ID
    - `catalog` MessageContentLinkPreview — If 'body' contains a link, this props can be used to create custom preview link
      - `body` string, required — Message text
      - `url` string — URL of the link
      - `id` string — Media ID
      - `link` string — Optional. Link to media
      - `sha256` string — Checksum
      - `catalog_id` string — Contact ID
      - `newsletter_id` string — Newsletter ID
      - `invite_code` string — Invite code
      - `title` string, required — Title of the link
      - `description` string — Description of the link
      - `canonical` string — Canonical URL of the link (for example, if the link is shortened)
      - `preview` string — Base64 encoded image for mini version link preview. In JPEG format
      - `view_once` boolean — Is view once
    - `product_items` MessageContentProductItems
      - `type` 'list' | 'buttons' — Type of interactive
    - `action` MessageAction
      - `target` string — Target message ID or chat ID
      - `type` 'edited' | 'edit' | 'delete' | 'reaction' | 'ephemeral' | 'vote' | 'result' | 'comment' | 'event_response' | 'answer' | 'pin' | 'unpin' | 'label_change' | 'media_notify' | 'status_notify' | 'group_status_notify', required — Type of action
      - `emoji` string — Action emoji for reaction
      - `ephemeral` integer — Ephemeral message duration
      - `edited_type` 'text' | 'image' | 'video' | 'gif' | 'audio' | 'voice' | 'short' | 'document' | 'documentWithCaption' | 'link_preview' | 'location' | 'live_location' | 'contact' | 'contact_list' | 'sticker' | 'system' | 'call' | 'unknown' | 'action' | 'group_invite' | 'newsletter_invite' | 'admin_invite' | 'product' | 'catalog' | 'interactive' | 'reply' | 'poll' | 'quiz' | 'question' | 'hsm' | 'order' | 'story' | 'event' | 'buttons' | 'list' | 'pin' | 'carousel' | 'album' — Message type
      - `edited_content` union
        - object
          - `body` string, required — Message text
          - `buttons` Button[]
            - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
            - `title` string, required — Button text
            - `id` string, required — Button ID
            - `copy_code` string — Button code for copy type
            - `phone_number` string — Button phone number for call type
            - `url` string — Button url for url type
            - `merchant_url` string — Button merchant_url for url type
          - `sections` object[] — Section of the message
            - `title` string — Title of the section
            - `rows` object[] — Rows of the section
              - …
            - `product_items` object[] — Product items of the section
              - …
          - `button` string — Button text for list of message
          - `view_once` boolean — Is view once
        - object
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `caption` string — Optional. Text caption under the media.
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `width` integer — Width of the media in pixels
          - `height` integer — Height of the media in pixels
          - `buttons` Button[]
            - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
            - `title` string, required — Button text
            - `id` string, required — Button ID
            - `copy_code` string — Button code for copy type
            - `phone_number` string — Button phone number for call type
            - `url` string — Button url for url type
            - `merchant_url` string — Button merchant_url for url type
          - `view_once` boolean — Is view once
        - object
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `caption` string — Optional. Text caption under the media.
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `width` integer — Width of the media in pixels
          - `height` integer — Height of the media in pixels
          - `seconds` integer — Optional. For video files, this field indicates the duration of the video file in seconds.
          - `autoplay` boolean — Optional. If the media is a GIF, this field indicates whether the GIF should be played automatically when the message is received.
          - `buttons` Button[]
            - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
            - `title` string, required — Button text
            - `id` string, required — Button ID
            - `copy_code` string — Button code for copy type
            - `phone_number` string — Button phone number for call type
            - `url` string — Button url for url type
            - `merchant_url` string — Button merchant_url for url type
          - `view_once` boolean — Is view once
        - object
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `seconds` integer — Optional. For audio files, this field indicates the duration of the audio file in seconds.
          - `recording_time` number — Time in seconds to simulate recording voice
          - `waveform` string — Voice message waveform
          - `view_once` boolean — Is view once
        - object
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `caption` string — Optional. Text caption under the document.
          - `filename` string — Optional. File name
          - `page_count` integer — Optional. Number of pages
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `buttons` Button[]
            - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
            - `title` string, required — Button text
            - `id` string, required — Button ID
            - `copy_code` string — Button code for copy type
            - `phone_number` string — Button phone number for call type
            - `url` string — Button url for url type
            - `merchant_url` string — Button merchant_url for url type
          - `view_once` boolean — Is view once
        - object — If 'body' contains a link, this props can be used to create custom preview link
          - `body` string, required — Message text
          - `url` string — URL of the link
          - `id` string — Media ID
          - `link` string — Optional. Link to media
          - `sha256` string — Checksum
          - `catalog_id` string — Contact ID
          - `newsletter_id` string — Newsletter ID
          - `invite_code` string — Invite code
          - `title` string, required — Title of the link
          - `description` string — Description of the link
          - `canonical` string — Canonical URL of the link (for example, if the link is shortened)
          - `preview` string — Base64 encoded image for mini version link preview. In JPEG format
          - `view_once` boolean — Is view once
        - object
          - `body` string, required — Message text
          - `newsletter_id` string, required — Newsletter ID
          - `newsletter_name` string, required — Newsletter name
          - `expiration` number, required — Expiration timestamp of the invitation
          - `preview` string — Base64 encoded newsletter preview image. In JPEG format
        - object
          - `catalog_id` string — Catalog ID
          - `product_id` string — Product ID
        - object
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `animated` boolean — Optional. For stickers, this field indicates whether the sticker is animated.
          - `width` integer — Width of the media in pixels
          - `height` integer — Height of the media in pixels
          - `preview` string — Optional. Base64 encoded preview of the media. In PNG format.
          - `view_once` boolean — Is view once
        - object
          - `latitude` number, double, required — Latitude of location being sent
          - `longitude` number, double, required — Longitude of location being sent
          - `address` string — Address of the location
          - `name` string — Name of the location
          - `url` string — URL for the website where the user downloaded the location information
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `accuracy` integer — Accuracy of the location in meters
          - `speed` integer — Speed of the location in meters per second
          - `degrees` integer — Degrees clockwise from true north
          - `comment` string — Optional. Comment for the location
          - `view_once` boolean — Is view once
        - object
          - `latitude` number, double, required — Latitude of live location being sent
          - `longitude` number, double, required — Longitude of live location being sent
          - `accuracy` integer — Accuracy of the live location in meters
          - `speed` integer — Speed of the live location in meters per second
          - `degrees` integer — Degrees clockwise from true north
          - `caption` string — Optional. Text caption under the live location
          - `sequence_number` integer — Optional. Sequence number of the live location for event tracking
          - `time_offset` number — Optional. Time offset of the live location
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `view_once` boolean — Is view once
        - VCard
          - `name` string — Name of contact
          - `vcard` string — Vcard of contact
        - object
          - `list` VCard[]
            - `name` string — Name of contact
            - `vcard` string — Vcard of contact
        - object
          - `header` object — Header of interactive
            - `text` string
          - `body` object, required — Body of interactive
            - `text` string — Text of body
          - `footer` object — Footer of interactive
            - `text` string — Text of footer
          - `action` InteractiveAction, required
            - `list` object
              - …
            - `buttons` Button[] — Buttons
              - …
            - `product` ActionProduct
              - …
          - `type` 'list' | 'button' | 'product', required — Interactive type
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `view_once` boolean — Is view once
        - object
          - `title` string, required — Title of poll
          - `options` string[], required — Options of poll
          - `vote_limit` integer — Number of selectable options in poll (1 - can choose only one option, 0 - any number of options)
          - `end_time` integer — Poll end timestamp
          - `hide_participant_name` boolean — Hide participant names in poll results
          - `allow_add_option` boolean — Allow participants to add options
          - `total` integer — Total count of selected options
          - `results` PollResults[]
            - `id` string, required — option ID
            - `name` string, required — option name
            - `count` integer, required — Number of votes for this option
            - `voters` ContactID[], required — List of users who voted for this option
          - `view_once` boolean — Is view once
        - object
          - `title` string, required — Title of poll
          - `options` string[], required — Options of poll
          - `vote_limit` integer — Number of selectable options in poll (1 - can choose only one option, 0 - any number of options)
          - `end_time` integer — Poll end timestamp
          - `hide_participant_name` boolean — Hide participant names in poll results
          - `allow_add_option` boolean — Allow participants to add options
          - `total` integer — Total count of selected options
          - `correct_answer` string — Correct option for quiz
          - `results` PollResults[]
            - `id` string, required — option ID
            - `name` string, required — option name
            - `count` integer, required — Number of votes for this option
            - `voters` ContactID[], required — List of users who voted for this option
          - `view_once` boolean — Is view once
        - object
          - `body` string — Question text
          - `total` integer — Total count of responses
          - `responses` QuestionAnswer[] — Question responses
            - `participant` string — Contact ID
            - `text` string — Answer text
            - `timestamp` integer — Response timestamp
        - object
          - `type` 'list_reply' | 'buttons_reply' — Type of message content
          - `list_reply` ListReply
            - `id` string — Clicked list ID
            - `title` string — Clicked list title
            - `description` string — Clicked list description
          - `buttons_reply` ButtonsReply
            - `id` string — Clicked button ID
            - `title` string — Clicked button text
      - `votes` string[] — List of poll options
      - `result` QuizResult
        - `participant` string — Contact ID
        - `answers` string[] — Selected quiz answers
        - `timestamp` integer — Response timestamp
      - `comment` string — Comment
      - `event_response` EventResponse
        - `participant` string — Contact ID
        - `response` 'UNKNOWN' | 'GOING' | 'NOT_GOING' — Response
        - `timestamp` integer — Response timestamp
      - `answer` QuestionAnswer
        - `participant` string — Contact ID
        - `text` string — Answer text
        - `timestamp` integer — Response timestamp
    - `context` MessageContext
      - `forwarded` boolean — Is forwarding message
      - `forwarding_score` integer — Count fo forwarding message
      - `mentions` string[] — The numbers of the mentioned users
      - `ad` MessageContextAD — Advertisement message from META-business
        - `advertiser_name` string — Name of the advertiser
        - `media_type` 'image' | 'video' | 'gif' | 'audio' | 'voice' | 'document' | 'sticker' — Media message type
        - `preview` string — Base64 encoded preview. In JPEG format.
        - `preview_url` string — URL of the preview
        - `title` string — Title of the advertisement
        - `body` string — Body of the advertisement
        - `media_url` string — URL of the media
        - `source` object
          - `id` string — ID of the advertisement source
          - `type` string — Type of the advertisement source
          - `url` string — URL of the advertisement source
        - `auto_reply` boolean — True if the advertisement contains an auto-reply
        - `attrib` boolean — True if the advertisement shows the attributions
        - `ctwa` string — Call to action
        - `ref` string — Reference
      - `conversion` MessageContextConversion — Message conversion data
        - `source` string — Source of the conversion
        - `data` string — Conversion data in Base64
        - `delay` integer — Delay in seconds
      - `quoted_id` string — ID of quoted message
      - `quoted_type` 'text' | 'image' | 'video' | 'gif' | 'audio' | 'voice' | 'short' | 'document' | 'documentWithCaption' | 'link_preview' | 'location' | 'live_location' | 'contact' | 'contact_list' | 'sticker' | 'system' | 'call' | 'unknown' | 'action' | 'group_invite' | 'newsletter_invite' | 'admin_invite' | 'product' | 'catalog' | 'interactive' | 'reply' | 'poll' | 'quiz' | 'question' | 'hsm' | 'order' | 'story' | 'event' | 'buttons' | 'list' | 'pin' | 'carousel' | 'album' — Message type
      - `quoted_content` union
        - object
          - `body` string, required — Message text
          - `buttons` Button[]
            - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
            - `title` string, required — Button text
            - `id` string, required — Button ID
            - `copy_code` string — Button code for copy type
            - `phone_number` string — Button phone number for call type
            - `url` string — Button url for url type
            - `merchant_url` string — Button merchant_url for url type
          - `sections` object[] — Section of the message
            - `title` string — Title of the section
            - `rows` object[] — Rows of the section
              - …
            - `product_items` object[] — Product items of the section
              - …
          - `button` string — Button text for list of message
          - `view_once` boolean — Is view once
        - object
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `caption` string — Optional. Text caption under the media.
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `width` integer — Width of the media in pixels
          - `height` integer — Height of the media in pixels
          - `buttons` Button[]
            - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
            - `title` string, required — Button text
            - `id` string, required — Button ID
            - `copy_code` string — Button code for copy type
            - `phone_number` string — Button phone number for call type
            - `url` string — Button url for url type
            - `merchant_url` string — Button merchant_url for url type
          - `view_once` boolean — Is view once
        - object
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `caption` string — Optional. Text caption under the media.
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `width` integer — Width of the media in pixels
          - `height` integer — Height of the media in pixels
          - `seconds` integer — Optional. For video files, this field indicates the duration of the video file in seconds.
          - `autoplay` boolean — Optional. If the media is a GIF, this field indicates whether the GIF should be played automatically when the message is received.
          - `buttons` Button[]
            - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
            - `title` string, required — Button text
            - `id` string, required — Button ID
            - `copy_code` string — Button code for copy type
            - `phone_number` string — Button phone number for call type
            - `url` string — Button url for url type
            - `merchant_url` string — Button merchant_url for url type
          - `view_once` boolean — Is view once
        - object
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `seconds` integer — Optional. For audio files, this field indicates the duration of the audio file in seconds.
          - `recording_time` number — Time in seconds to simulate recording voice
          - `waveform` string — Voice message waveform
          - `view_once` boolean — Is view once
        - object
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `caption` string — Optional. Text caption under the document.
          - `filename` string — Optional. File name
          - `page_count` integer — Optional. Number of pages
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `buttons` Button[]
            - `type` 'quick_reply' | 'call' | 'copy' | 'url', required — Type of button
            - `title` string, required — Button text
            - `id` string, required — Button ID
            - `copy_code` string — Button code for copy type
            - `phone_number` string — Button phone number for call type
            - `url` string — Button url for url type
            - `merchant_url` string — Button merchant_url for url type
          - `view_once` boolean — Is view once
        - object — If 'body' contains a link, this props can be used to create custom preview link
          - `body` string, required — Message text
          - `url` string — URL of the link
          - `id` string — Media ID
          - `link` string — Optional. Link to media
          - `sha256` string — Checksum
          - `catalog_id` string — Contact ID
          - `newsletter_id` string — Newsletter ID
          - `invite_code` string — Invite code
          - `title` string, required — Title of the link
          - `description` string — Description of the link
          - `canonical` string — Canonical URL of the link (for example, if the link is shortened)
          - `preview` string — Base64 encoded image for mini version link preview. In JPEG format
          - `view_once` boolean — Is view once
        - object
          - `body` string, required — Message text
          - `newsletter_id` string, required — Newsletter ID
          - `newsletter_name` string, required — Newsletter name
          - `expiration` number, required — Expiration timestamp of the invitation
          - `preview` string — Base64 encoded newsletter preview image. In JPEG format
        - object
          - `catalog_id` string — Catalog ID
          - `product_id` string — Product ID
        - object
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `animated` boolean — Optional. For stickers, this field indicates whether the sticker is animated.
          - `width` integer — Width of the media in pixels
          - `height` integer — Height of the media in pixels
          - `preview` string — Optional. Base64 encoded preview of the media. In PNG format.
          - `view_once` boolean — Is view once
        - object
          - `latitude` number, double, required — Latitude of location being sent
          - `longitude` number, double, required — Longitude of location being sent
          - `address` string — Address of the location
          - `name` string — Name of the location
          - `url` string — URL for the website where the user downloaded the location information
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `accuracy` integer — Accuracy of the location in meters
          - `speed` integer — Speed of the location in meters per second
          - `degrees` integer — Degrees clockwise from true north
          - `comment` string — Optional. Comment for the location
          - `view_once` boolean — Is view once
        - object
          - `latitude` number, double, required — Latitude of live location being sent
          - `longitude` number, double, required — Longitude of live location being sent
          - `accuracy` integer — Accuracy of the live location in meters
          - `speed` integer — Speed of the live location in meters per second
          - `degrees` integer — Degrees clockwise from true north
          - `caption` string — Optional. Text caption under the live location
          - `sequence_number` integer — Optional. Sequence number of the live location for event tracking
          - `time_offset` number — Optional. Time offset of the live location
          - `preview` string — Optional. Base64 encoded preview of the media. In JPEG format.
          - `view_once` boolean — Is view once
        - VCard
          - `name` string — Name of contact
          - `vcard` string — Vcard of contact
        - object
          - `list` VCard[]
            - `name` string — Name of contact
            - `vcard` string — Vcard of contact
        - object
          - `header` object — Header of interactive
            - `text` string
          - `body` object, required — Body of interactive
            - `text` string — Text of body
          - `footer` object — Footer of interactive
            - `text` string — Text of footer
          - `action` InteractiveAction, required
            - `list` object
              - …
            - `buttons` Button[] — Buttons
              - …
            - `product` ActionProduct
              - …
          - `type` 'list' | 'button' | 'product', required — Interactive type
          - `id` string, required — Media ID
          - `link` string — Optional. Link to media
          - `mime_type` string, required — Mime type of media
          - `file_size` integer, required — File size in bytes
          - `file_name` string — Optional. File name
          - `sha256` string — Checksum
          - `timestamp` number — Created at
          - `view_once` boolean — Is view once
        - object
          - `title` string, required — Title of poll
          - `options` string[], required — Options of poll
          - `vote_limit` integer — Number of selectable options in poll (1 - can choose only one option, 0 - any number of options)
          - `end_time` integer — Poll end timestamp
          - `hide_participant_name` boolean — Hide participant names in poll results
          - `allow_add_option` boolean — Allow participants to add options
          - `total` integer — Total count of selected options
          - `results` PollResults[]
            - `id` string, required — option ID
            - `name` string, required — option name
            - `count` integer, required — Number of votes for this option
            - `voters` ContactID[], required — List of users who voted for this option
          - `view_once` boolean — Is view once
        - object
          - `title` string, required — Title of poll
          - `options` string[], required — Options of poll
          - `vote_limit` integer — Number of selectable options in poll (1 - can choose only one option, 0 - any number of options)
          - `end_time` integer — Poll end timestamp
          - `hide_participant_name` boolean — Hide participant names in poll results
          - `allow_add_option` boolean — Allow participants to add options
          - `total` integer — Total count of selected options
          - `correct_answer` string — Correct option for quiz
          - `results` PollResults[]
            - `id` string, required — option ID
            - `name` string, required — option name
            - `count` integer, required — Number of votes for this option
            - `voters` ContactID[], required — List of users who voted for this option
          - `view_once` boolean — Is view once
        - object
          - `body` string — Question text
          - `total` integer — Total count of responses
          - `responses` QuestionAnswer[] — Question responses
            - `participant` string — Contact ID
            - `text` string — Answer text
            - `timestamp` integer — Response timestamp
        - object
          - `type` 'list_reply' | 'buttons_reply' — Type of message content
          - `list_reply` ListReply
            - `id` string — Clicked list ID
            - `title` string — Clicked list title
            - `description` string — Clicked list description
          - `buttons_reply` ButtonsReply
            - `id` string — Clicked button ID
            - `title` string — Clicked button text
      - `quoted_author` string — Whatsapp ID of quoted message author
      - `ephemeral` integer — Ephemeral message duration
    - `event` MessageContentEvent
      - `is_canceled` boolean — True if event is canceled
      - `name` string — Event name
      - `description` string — Event description
      - `join_link` string — Join link
      - `start` integer — Chat timestamp
      - `responses` EventResponse[] — Event responses
        - `participant` string — Contact ID
        - `response` 'UNKNOWN' | 'GOING' | 'NOT_GOING' — Response
        - `timestamp` integer — Response timestamp
    - `list` MessageContentList
      - `header` string
      - `body` string
      - `label` string
      - `footer` string
      - `sections` object[]
        - `title` string
        - `rows` object[]
          - `id` string
          - `title` string
          - `description` string
    - `buttons` MessageContentButtons
      - `text` string
      - `footer` string
      - `buttons` object[]
        - `id` string
        - `text` string
        - `type` 'UNKNOWN' | 'RESPONSE' | 'NATIVE_FLOW'
    - `starred` boolean — Is message starred
    - `reactions` MessageReaction[] — Reactions for message
      - `id` string — Reaction ID
      - `emoji` string, required — Reaction text
      - `group_key` string — Reaction group key
      - `t` number — Reaction timestamp
      - `unread` boolean — Is reaction unread
      - `count` number — Reaction count
    - `labels` Label[] — Labels associated with message
      - `id` string, required — Label ID
      - `name` string, required — Label name
      - `color` 'salmon' | 'lightskyblue' | 'gold' | 'plum' | 'silver' | 'mediumturquoise' | 'violet' | 'goldenrod' | 'cornflowerblue' | 'greenyellow' | 'cyan' | 'lightpink' | 'mediumaquamarine' | 'orangered' | 'deepskyblue' | 'limegreen' | 'darkorange' | 'lightsteelblue' | 'mediumpurple' | 'rebeccapurple', required — Label color
      - `count` integer — Number of objects associated with this label
  - `count` integer — Count of requested messages
  - `total` integer — Total number of returned messages
  - `offset` integer — Offset of requested messages
  - `first` integer — The index of the first message
  - `last` integer — The index of the last message

## Other responses

- `400` — Wrong request parameters
- `404` — Specified newsletter not found
- `500` — Internal Error

---

[API](https://skmtc.net/whapi/apis/whatsapp-api.md) · [All operations](https://skmtc.net/whapi/apis/whatsapp-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/whapi/whatsapp-api/versions/40ab05abffdb/schema)
