---
title: "Get messages"
method: GET
path: "/messages"
tags: ["messages"]
---

# Get messages

`GET /messages`

## Request

- Base URL: `https://botapi.tamtam.chat`
- URL: `https://botapi.tamtam.chat/messages`
- Auth: API key in query parameter `access_token`

Returns messages in chat: result page and marker referencing to the next page. Messages traversed in reverse direction so the latest message in chat will be first in result array. Therefore if you use `from` and `to` parameters, `to` must be **less than** `from`

## Query parameters

- `chat_id` integer
- `message_ids` string[], nullable
- `from` integer
- `to` integer
- `count` integer

## Response `200`

Returns list of messages

- MessageList: Paginated list of messages
  - `messages` Message[], required: List of messages
    - `sender` User
      - `user_id` integer, required: Users identifier
      - `name` string, required: Users visible name
      - `username` string, nullable, required: Unique public user name. Can be `null` if user is not accessible or it is not set
      - `is_bot` boolean, required: `true` if user is bot
      - `last_activity_time` integer, required: Time of last user activity in TamTam (Unix timestamp in milliseconds). Can be outdated if user disabled its "online" status in settings
    - `recipient` Recipient, required: New message recipient. Could be user or chat
      - `chat_id` integer, nullable, required: Chat identifier
      - `chat_type` 'dialog' | 'chat' | 'channel', required: Type of chat. Dialog (one-on-one), chat or channel
      - `user_id` integer, nullable, required: User identifier, if message was sent to user
    - `timestamp` integer, required: Unix-time when message was created
    - `link` LinkedMessage
      - `type` 'forward' | 'reply', required: Type of linked message
      - `sender` User
        - `user_id` integer, required: Users identifier
        - `name` string, required: Users visible name
        - `username` string, nullable, required: Unique public user name. Can be `null` if user is not accessible or it is not set
        - `is_bot` boolean, required: `true` if user is bot
        - `last_activity_time` integer, required: Time of last user activity in TamTam (Unix timestamp in milliseconds). Can be outdated if user disabled its "online" status in settings
      - `chat_id` integer: Chat where message has been originally posted. For forwarded messages only
      - `message` MessageBody, required: Schema representing body of message
        - `mid` string, required: Unique identifier of message
        - `seq` integer, required: Sequence identifier of message in chat
        - `text` string, nullable, required: Message text
        - `attachments` Attachment[], nullable, required: Message attachments. Could be one of `Attachment` type. See description of this schema
          - `type` string, required
        - `markup` MarkupElement[], nullable: Message text markup. See [Formatting](#section/About/Text-formatting) section for more info
          - `type` string, required: Type of the markup element. Can be **strong**, *emphasized*, ~strikethrough~, ++underline++, `monospaced`, link or user_mention
          - `from` integer, required: Element start index (zero-based) in text
          - `length` integer, required: Length of the markup element
    - `body` MessageBody, required: Schema representing body of message
      - `mid` string, required: Unique identifier of message
      - `seq` integer, required: Sequence identifier of message in chat
      - `text` string, nullable, required: Message text
      - `attachments` Attachment[], nullable, required: Message attachments. Could be one of `Attachment` type. See description of this schema
        - `type` string, required
      - `markup` MarkupElement[], nullable: Message text markup. See [Formatting](#section/About/Text-formatting) section for more info
        - `type` string, required: Type of the markup element. Can be **strong**, *emphasized*, ~strikethrough~, ++underline++, `monospaced`, link or user_mention
        - `from` integer, required: Element start index (zero-based) in text
        - `length` integer, required: Length of the markup element
    - `stat` MessageStat: Message statistics
      - `views` integer, required
    - `url` string, nullable: Message public URL. Can be `null` for dialogs or non-public chats/channels
    - `constructor` User
      - `user_id` integer, required: Users identifier
      - `name` string, required: Users visible name
      - `username` string, nullable, required: Unique public user name. Can be `null` if user is not accessible or it is not set
      - `is_bot` boolean, required: `true` if user is bot
      - `last_activity_time` integer, required: Time of last user activity in TamTam (Unix timestamp in milliseconds). Can be outdated if user disabled its "online" status in settings

## Other responses

- `401`: Authorization Error. No `access_token` provided or token is invalid
- `403`: This exception happens when user suspended bot or it doesn't have access to chat
- `500`: Internal Server Error

## Changes

- **2021-06-02** `137e3d1e0b4f`: 4 info
  - added `highlighted` discriminator mapping keys to the `messages/items/body/allOf[#/components/schemas/MessageBody]/markup/items/` response property for the response status `200`
  - added `highlighted` discriminator mapping keys to the `messages/items/link/allOf[#/components/schemas/LinkedMessage]/message/allOf[#/components/schemas/MessageBody]/markup/items/` response property for the response status `200`
  - removed `code` discriminator mapping keys from the `messages/items/body/allOf[#/components/schemas/MessageBody]/markup/items/` response property for the response status `200`
  - removed `code` discriminator mapping keys from the `messages/items/link/allOf[#/components/schemas/LinkedMessage]/message/allOf[#/components/schemas/MessageBody]/markup/items/` response property for the response status `200`
- …earlier changes not shown

[Operation history](https://skmtc.dev/tamtam/apis/tamtam-bot-api/changes/messages/get.md)

---

[API](https://skmtc.dev/tamtam/apis/tamtam-bot-api.md) - [All operations](https://skmtc.dev/tamtam/apis/tamtam-bot-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tamtam/apis/tamtam-bot-api/revisions/fa85402ea716?raw)
