---
title: "Get Chat Conversations"
method: GET
path: "/2/chat/conversations"
tags: ["Chat"]
---

# Get Chat Conversations

`GET /2/chat/conversations`

## Request

- Base URL: `https://api.x.com`
- URL: `https://api.x.com/2/chat/conversations`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://api.x.com/2/oauth2/authorize`
    - Token URL: `https://api.x.com/2/oauth2/token` scopes: `dm.read`, `users.read`
  - HTTP oauth

Retrieves a list of Chat conversations for the authenticated user's inbox, newest first: the most recently active conversation comes first. The unread, last_read_event_id and newest_event_id fields give your read state, computed from your latest read receipt and each conversation's latest notifying message. Request them with chat_conversation.fields=unread,last_read_event_id,newest_event_id.

The filters unread_only, type, is_archived, is_muted, participant_ids, participant_query, start_time and end_time are optional, and all filters must match (AND). participant_query keeps conversations where another participant's username, or a word of their display name, starts with the query, ignoring case and accents; with a leading @ it matches usernames only. It considers the 100 people who best match the query, uses only public profile information, and never matches group names, nicknames or messages. start_time and end_time apply to the time of each conversation's latest message.

Each page covers max_results conversations and returns those that match, so a page can hold fewer than max_results, or none, while meta.next_token is set and has_more is true: keep paging, passing meta.next_token as pagination_token. Once a page reaches a conversation whose latest message is older than start_time, has_more is false. A pagination_token only works with the same filters as the request that returned it; with other filters, the request fails with a 400.

When both are provided, `start_time` must be earlier than `end_time`.

## Query parameters

- `max_results` integer
- `pagination_token` string
- `unread_only` boolean
- `type` 'direct' | 'group'
- `is_archived` boolean
- `is_muted` boolean
- `participant_ids` string[]
- `participant_query` string
- `start_time` string, date-time
- `end_time` string, date-time
- `chat_conversation.fields` string[]: The fields available for a ChatConversation object.
- `expansions` string[]
- `user.fields` string[]: The fields available for a User object.

## Response `200`

The request has succeeded.

- GetChatConversationsResponse
  - `data` ChatConversation[]
    - `admin_ids` string[]
    - `admin_settings` ChatConversationAdminSettings: Group actions restricted to admins. true means only admins can perform the action.
      - `add_member` boolean, nullable: Whether only admins may add members.
      - `block_screen_capture` boolean, nullable: Whether only admins may block screen capture. Through the API, only admins can change screen capture in a group, whatever this setting says.
      - `edit_group_info` boolean, nullable: Whether only admins may edit group info.
      - `edit_message_ttl` boolean, nullable: Whether only admins may edit the message TTL.
      - `send_message` boolean, nullable: Whether only admins may send messages.
      - `start_call` boolean, nullable: Whether only admins may start a call.
    - `created_at` string, date-time
    - `group_avatar_url` string
    - `group_description` string: The group description, encrypted with the conversation key like group_name.
    - `group_description_key_version` string: The conversation key version that group_description is encrypted with.
    - `group_name` string
    - `id` string
    - `invite` ChatConversationInvite: An active invite link for a group Chat conversation.
      - `admin_user_id` string, nullable: Unique identifier of the admin who turned on the invite link.
      - `expires_at` string, nullable: When the invite link stops working.
      - `invite_url` string, required: The shareable invite link.
      - `token` string, nullable: Token identifying this invite link.
      - `welcome_message` string, nullable: Message shown to Users who join through the invite link.
    - `is_archived` boolean: Whether the authenticated user archived this conversation.
    - `is_muted` boolean
    - `last_read_event_id` string: The event ID you have read up to: the seen_until_sequence_id of your latest read receipt. Absent when you have no read receipt.
    - `member_ids` string[]
    - `message_ttl_ms` integer
    - `newest_event_id` string: The ID of the latest notifying message in the conversation.
    - `participant_ids` string[]
    - `pending_member_ids` string[]: Unique identifiers of Users who asked to join this group and are awaiting approval. Returned only to callers who can add members.
    - `screen_capture_blocking_enabled` boolean
    - `screen_capture_detection_enabled` boolean
    - `type` string
    - `unread` boolean: Whether the conversation is unread for you: its latest notifying message was sent by someone else after last_read_event_id, or you have no read receipt. Marking the conversation unread does not set it.
    - `updated_at` string, date-time
  - `errors` Problem[]
    - union
      - ResourceNotFoundProblem
        - `detail` string, required
        - `parameter` string
        - `resource_id` string
        - `resource_type` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/resource-not-found', required
        - `value` string
      - InvalidRequestProblem
        - `detail` string, required
        - `parameter` string
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/invalid-request', required
        - `value` string
      - NotAuthorizedForResourceProblem
        - `detail` string, required
        - `parameter` string
        - `resource_id` string
        - `resource_type` string, required
        - `section` string
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/not-authorized-for-resource', required
        - `value` string
      - NotAuthorizedForFieldProblem
        - `detail` string, required
        - `field` string, required
        - `parameter` string
        - `resource_id` string
        - `resource_type` string
        - `section` string
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/not-authorized-for-field', required
        - `value` string
      - FieldUnauthorizedProblem
        - `detail` string, required
        - `field` string, required
        - `resource_type` string
        - `section` string
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/field-unauthorized', required
      - FieldHydrationFailureProblem
        - `detail` string, required
        - `field` string, required
        - `resource_type` string
        - `section` string
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/field-hydration-failure', required
      - ResourceUnavailableProblem
        - `detail` string, required
        - `resource_id` string
        - `resource_type` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/resource-unavailable', required
      - DisallowedResourceProblem
        - `detail` string, required
        - `resource_id` string
        - `resource_type` string
        - `section` string
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/disallowed-resource', required
      - RecipientNotMessageableProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/recipient-not-messageable', required
      - InternalErrorProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/internal-error', required
      - DmBadAttachmentProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-bad-attachment', required
      - DmBadCtaProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-bad-cta', required
      - DmBadCustomProfileProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-bad-custom-profile', required
      - DmBadMediaProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-bad-media', required
      - DmBadQuickReplyProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-bad-quick-reply', required
      - DmBadUrlProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-bad-url', required
      - DmConversationNameTooLongProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-conversation-name-too-long', required
      - DmConversationNotFoundProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-conversation-not-found', required
      - DmDuplicateProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-duplicate', required
      - DmInactiveDeviceProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-inactive-device', required
      - DmNotDeliveredProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-not-delivered', required
      - DmNotFoundProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-not-found', required
      - DmNotOwnerProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-not-owner', required
      - DmParticipantNotAddedProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-participant-not-added', required
      - DmParticipantNotFoundProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-participant-not-found', required
      - DmParticipantRestrictedProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-participant-restricted', required
      - DmParticipantUnavailableProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-participant-unavailable', required
      - DmRateLimitedProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-rate-limited', required
      - DmRecipientBlocksSenderProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-recipient-blocks-sender', required
      - DmRecipientCannotReceiveProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-recipient-cannot-receive', required
      - DmRecipientEncryptedUnavailableProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-recipient-encrypted-unavailable', required
      - DmRecipientNotAcceptingProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-recipient-not-accepting', required
      - DmRecipientNotFoundProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-recipient-not-found', required
      - DmRecipientRestrictsGroupsProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-recipient-restricts-groups', required
      - DmRecipientUnavailableProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-recipient-unavailable', required
      - DmRequestInProgressProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-request-in-progress', required
      - DmSafetyLimitedProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-safety-limited', required
      - DmSafetyRejectedProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-safety-rejected', required
      - DmSenderBlocksRecipientProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-sender-blocks-recipient', required
      - DmSenderDeclinedDmsProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-sender-declined-dms', required
      - DmSenderDmsClosedProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-sender-dms-closed', required
      - DmSenderEncryptedUnavailableProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-sender-encrypted-unavailable', required
      - DmSenderNotInConversationProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-sender-not-in-conversation', required
      - DmSenderNotPermittedProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-sender-not-permitted', required
      - DmSenderNotVerifiedProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-sender-not-verified', required
      - DmSenderPhoneRequiredProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-sender-phone-required', required
      - DmSenderReadOnlyProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-sender-read-only', required
      - DmSenderUnavailableProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-sender-unavailable', required
      - DmTextEmptyProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-text-empty', required
      - DmTextTooLongProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-text-too-long', required
      - DmTooFewParticipantsProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-too-few-participants', required
      - DmTooManyParticipantsProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-too-many-participants', required
      - DmUnsupportedMessageProblem
        - `detail` string, required
        - `status` integer
        - `title` string, required
        - `type` 'https://api.x.com/2/problems/dm-unsupported-message', required
      - DuplicateRuleProblem
        - `detail` string
        - `id` string
        - `title` string, required
        - `type` 'https://api.twitter.com/2/problems/duplicate-rules', required
        - `value` string, required
      - InvalidRuleProblem
        - `detail` string
        - `details` string[], required
        - `title` string, required
        - `type` 'https://api.twitter.com/2/problems/invalid-rules', required
        - `value` string
  - `includes` Expansions
    - `calls` Call[]
      - `conversation_id` string: XChat conversation the call belongs to, if any.
      - `created_at` string: Creation time (RFC 3339).
      - `host_id` string: X user id of the call's host.
      - `id` string: Unique identifier of the call; also its join secret.
      - `join_policy` string: Who may join: open (anyone with the link), closed (the host admits people), or trusted (the host's Verified Organization).
      - `join_url` string: Link people open to join the call on X.
      - `participant_count` integer: People in the call right now.
      - `title` string: Title of the call.
      - `viewer_may_join` boolean: Whether the authenticated user may join without asking the host.
    - `media` Media[]
      - `alt_text` string
      - `duration_ms` integer
      - `height` integer
      - `media_key` string
      - `non_public_metrics` MediaNonPublicMetrics: Nonpublic engagement metrics for the media at the time of the request.
        - `playback_0_count` integer, nullable: Number of users who started playback (0% quartile) of this video.
        - `playback_100_count` integer, nullable: Number of users who completed playback (100% quartile) of this video.
        - `playback_25_count` integer, nullable: Number of users who watched at least 25% of this video.
        - `playback_50_count` integer, nullable: Number of users who watched at least 50% of this video.
        - `playback_75_count` integer, nullable: Number of users who watched at least 75% of this video.
      - `organic_metrics` MediaOrganicMetrics: Organic nonpublic engagement metrics for the media at the time of the request.
        - `playback_0_count` integer, nullable: Number of users who started playback (0% quartile) of this video.
        - `playback_100_count` integer, nullable: Number of users who completed playback (100% quartile) of this video.
        - `playback_25_count` integer, nullable: Number of users who watched at least 25% of this video.
        - `playback_50_count` integer, nullable: Number of users who watched at least 50% of this video.
        - `playback_75_count` integer, nullable: Number of users who watched at least 75% of this video.
        - `view_count` integer, nullable: The number of organic views of this video. Null when the backend returns quartile data without a view count.
      - `preview_image_url` string
      - `promoted_metrics` MediaPromotedMetrics: Promoted nonpublic engagement metrics for the media at the time of the request.
        - `playback_0_count` integer, nullable: Number of users who started playback (0% quartile) of this video.
        - `playback_100_count` integer, nullable: Number of users who completed playback (100% quartile) of this video.
        - `playback_25_count` integer, nullable: Number of users who watched at least 25% of this video.
        - `playback_50_count` integer, nullable: Number of users who watched at least 50% of this video.
        - `playback_75_count` integer, nullable: Number of users who watched at least 75% of this video.
        - `view_count` integer, nullable: The number of promoted views of this video. Null when the backend returns quartile data without a view count.
      - `public_metrics` MediaPublicMetrics: Public engagement metrics for the media at the time of the request.
        - `view_count` integer, required: The number of times this video has been viewed.
      - `type` string
      - `url` string
      - `variants` object[]: Each media object may have multiple display or playback variants, with different resolutions or formats.
        - `bit_rate` integer, nullable: The bit rate of this variant, in bits per second. Absent for playlist variants.
        - `content_type` string, nullable: The MIME type of this variant, for example "video/mp4" or "application/x-mpegURL".
        - `url` string, nullable: The URL to this media variant.
      - `width` integer
    - `places` Place[]
      - `contained_within` string[]: A list of unique identifiers of the Places that contain this place.
      - `country` string
      - `country_code` string
      - `full_name` string
      - `geo` PlaceGeo: The geographic location of this place, expressed as a GeoJSON Feature.
        - `bbox` number[], required: The bounding box as [southwest_longitude, southwest_latitude, northeast_longitude, northeast_latitude].
        - `properties` object, required: Additional GeoJSON feature properties.
        - `type` 'Feature', required: The GeoJSON feature type.
      - `id` string
      - `name` string
      - `place_type` string
    - `polls` Poll[]
      - `duration_minutes` integer
      - `end_datetime` string
      - `id` string
      - `options` object[]: The list of options (choices) available in this poll.
        - `label` string, required: The text label of this poll option.
        - `position` integer, required: The 1-based position of this option within the poll.
        - `votes` integer, required: The number of votes this option has received.
      - `voting_status` string
    - `posts` Post[]
      - `article` object
      - `article_title` object: Metadata about the long-form Article attached to this Post, if any.
      - `attachments` PostAttachments: Specifies the type of attachments (if any) present in this Post.
        - `media_keys` string[], nullable: Media keys of media attached to this Post.
        - `media_source_tweet_id` string[], nullable: IDs of the source Posts the attached media originated from.
        - `poll_ids` string[], nullable: IDs of polls attached to this Post.
      - `author_id` string: Unique identifier of the author of this Post.
      - `card_uri` string
      - `community_id` string: The unique identifier of the Community this Post belongs to, if any.
      - `context_annotations` object[]: Annotations inferred about the Post (domain and entity context).
        - `domain` object, required: A domain or entity referenced by a context annotation.
          - `description` string, nullable
          - `id` string, nullable
          - `name` string, nullable
        - `entity` object, required: A domain or entity referenced by a context annotation.
          - `description` string, nullable
          - `id` string, nullable
          - `name` string, nullable
      - `conversation_id` string: The ID of the conversation this Post belongs to (matches the root Post's ID).
      - `created_at` string, date-time: Creation time of the Post.
      - `display_text_range` integer[]: The inclusive start and exclusive end indices of the displayable content of the Post.
      - `edit_controls` PostEditControls: Indicates how much longer (if at all) this Post can be edited.
        - `editable_until` string, nullable: The time until which this Post can be edited.
        - `edits_remaining` integer, nullable: Number of edits still allowed for this Post.
        - `is_edit_eligible` boolean, nullable: Indicates whether this Post is eligible to be edited.
      - `edit_history_post_ids` string[]: A list of Post IDs in this Post's edit history chain.
      - `entities` PostEntities: A list of metadata entities (hashtags, mentions, URLs) found in the Post text.
        - `cashtags` object[], nullable
          - `end` integer, required: End index in the text (exclusive).
          - `start` integer, required: Start index in the text (inclusive).
          - `tag` string, required
        - `hashtags` object[], nullable
          - `end` integer, required: End index in the text (exclusive).
          - `start` integer, required: Start index in the text (inclusive).
          - `tag` string, required
        - `mentions` object[], nullable
          - `end` integer, required
          - `id` string, nullable
          - `start` integer, required
          - `username` string, nullable
        - `urls` object[], nullable
          - `description` string, nullable: Description of the linked page, when available.
          - `display_url` string, nullable: The URL as displayed in the Post text.
          - `end` integer, required
          - `expanded_url` string, nullable: The fully resolved URL.
          - `images` object[], nullable
            - `height` integer, nullable
            - `url` string, nullable
            - `width` integer, nullable
          - `media_key` string, nullable
          - `start` integer, required
          - `status` integer, nullable: HTTP status from resolving the URL.
          - `title` string, nullable: Title of the linked page, when available.
          - `unwound_url` string, nullable: The final destination after following redirects.
          - `url` string, nullable: The t.co shortened URL.
      - `geo` PostGeo: The location tagged on the Post, if the user provided one.
        - `coordinates` object, nullable: A GeoJSON Point geometry.
          - `coordinates` number[], required: [longitude, latitude].
          - `type` 'Point', required: The GeoJSON geometry type.
        - `place_id` string, nullable: The unique identifier of the tagged place.
      - `id` string: Unique identifier of this Post.
      - `in_reply_to_user_id` string: Unique identifier of the User this Post is replying to.
      - `lang` string: Language of the Post, if detected by X. Returned as a BCP47 language tag.
      - `matched_media_notes` object[]: Community-Notes media matches for this Post.
        - `match_status` string, nullable: The status of the media note match.
        - `note_id` string, nullable: The matched note's unique identifier.
      - `media_metadata` object[]: Metadata for media attached to this Post.
        - `alt_text` string, nullable: Alternative text describing the media for accessibility.
        - `description` string, nullable: Description of the media.
        - `media_key` string, nullable: The unique identifier of the media.
        - `title` string, nullable: Title of the media.
      - `non_public_metrics` object: Nonpublic engagement metrics for the Post at the time of the request.
      - `note_post` PostNotePost: The full content of the Post, including text beyond 280 characters.
        - `entities` object, nullable: Metadata entities (hashtags, cashtags, mentions, URLs) found in the note Post text.
          - `cashtags` object[], nullable
            - `end` integer, required: End index in the text (exclusive).
            - `start` integer, required: Start index in the text (inclusive).
            - `tag` string, required
          - `hashtags` object[], nullable
            - `end` integer, required: End index in the text (exclusive).
            - `start` integer, required: Start index in the text (inclusive).
            - `tag` string, required
          - `mentions` object[], nullable
            - `end` integer, required
            - `id` string, nullable
            - `start` integer, required
            - `username` string, nullable
          - `urls` object[], nullable
            - `display_url` string, nullable
            - `end` integer, required
            - `expanded_url` string, nullable
            - `start` integer, required
            - `url` string, nullable
        - `text` string, required: The full note text of the Post.
      - `note_request_suggestions` object[]: Community-Notes request suggestions for this Post.
        - `source_link` string, nullable: A suggested source link supporting the note request.
        - `suggestion` string, nullable: The text of the note request suggestion.
        - `suggestion_id` string, nullable: The unique identifier of the note request suggestion.
      - `organic_metrics` object: Organic nonpublic engagement metrics for the Post at the time of the request.
      - `paid_partnership` boolean: Indicates if this Post is a paid partnership, i.e. it has been disclosed by the author as containing paid promotion.
      - `possibly_sensitive` boolean: Indicates if this Post contains URLs marked as sensitive, for example content suitable for mature audiences.
      - `promoted_metrics` object: Promoted nonpublic engagement metrics for the Post at the time of the request.
      - `public_metrics` PostPublicMetrics: Engagement metrics for the Post at the time of the request.
        - `bookmark_count` integer, required: Number of times this Post has been bookmarked.
        - `impression_count` integer, required: Number of times this Post has been viewed.
        - `like_count` integer, required: Number of likes on this Post.
        - `quote_count` integer, required: Number of quote Posts of this Post.
        - `reply_count` integer, required: Number of replies to this Post.
        - `repost_count` integer, required: Number of times this Post has been reposted.
      - `referenced_posts` object[]: A list of Posts this Post refers to. If the Post is a Retweet, Quote or Reply, it includes the referenced Post's type and ID.
        - `id` string, required: Unique identifier of the referenced Post.
        - `type` 'retweeted' | 'quoted' | 'replied_to', required: The kind of Post-to-Post reference.
      - `reply_settings` string: Shows who can reply to this Post.
      - `scopes` PostScopes: The scopes for this Post.
        - `followers` boolean, required: Indicates whether visibility of this Post is limited to the author's followers.
      - `source` string: The name of the app the user posted from. This is deprecated.
      - `suggested_source_links` string[]: URLs suggested as sources for this Post.
      - `suggested_source_links_with_counts` object[]: Suggested source URLs for this Post, each with the number of times it was suggested.
        - `count` integer, nullable: Number of times this source link was suggested.
        - `url` string, nullable: The suggested source URL.
      - `text` string: The content of the Post.
      - `username` string
      - `withheld` PostWithheld: Withholding details for withheld content.
        - `copyright` boolean, required: Indicates whether this content is withheld due to a copyright claim.
        - `country_codes` string[], required: Uppercase ISO 3166-1 alpha-2 country codes where this content is withheld.
        - `scope` 'post' | 'user', nullable: Whether the withholding applies to a Post or a User.
    - `topics` Topic[]
      - `description` string
      - `id` string
      - `name` string
    - `users` User[]
      - `active_follower_count` integer: The number of followers who were active on X in the last 24 hours. Returned only for the authenticated user when account analytics is enabled. Omitted for accounts with 50 or fewer followers. An estimate for accounts with at least 20,000 followers.
      - `affiliation` UserAffiliation: Metadata about a user's affiliation.
        - `badge_url` string, nullable: URL of the affiliation badge image shown on the User's profile.
        - `description` string, nullable: Description of the affiliation.
        - `url` string, nullable: URL associated with the affiliation.
        - `user_id` string[], nullable: A list of unique identifiers of the accounts this User is affiliated with.
      - `confirmed_email` string
      - `connection_status` string[]: Returns detailed information about the relationship between two users.
      - `created_at` string, date-time: Creation time of this User.
      - `description` string: The text of this User's profile description (also known as bio), if the User provided one.
      - `entities` UserEntities: A list of metadata found in the User's profile description.
        - `description` object, nullable: Entities found in the User's bio.
          - `cashtags` object[], nullable
            - `end` integer, required: End index in the text (exclusive).
            - `start` integer, required: Start index in the text (inclusive).
            - `tag` string, required
          - `hashtags` object[], nullable
            - `end` integer, required: End index in the text (exclusive).
            - `start` integer, required: Start index in the text (inclusive).
            - `tag` string, required
          - `mentions` object[], nullable
            - `end` integer, required
            - `id` string, nullable
            - `start` integer, required
            - `username` string, required
          - `urls` object[], nullable
            - `description` string, nullable: Description of the linked page, when available.
            - `display_url` string, nullable: The URL as displayed in the Post text.
            - `end` integer, required
            - `expanded_url` string, nullable: The fully resolved URL.
            - `images` object[], nullable
              - …
            - `media_key` string, nullable
            - `start` integer, required
            - `status` integer, nullable: HTTP status from resolving the URL.
            - `title` string, nullable: Title of the linked page, when available.
            - `unwound_url` string, nullable: The final destination after following redirects.
            - `url` string, required: The t.co shortened URL.
        - `url` object, nullable: Entities for the User's profile website URL.
          - `urls` object[], nullable
            - `description` string, nullable: Description of the linked page, when available.
            - `display_url` string, nullable: The URL as displayed in the Post text.
            - `end` integer, required
            - `expanded_url` string, nullable: The fully resolved URL.
            - `images` object[], nullable
              - …
            - `media_key` string, nullable
            - `start` integer, required
            - `status` integer, nullable: HTTP status from resolving the URL.
            - `title` string, nullable: Title of the linked page, when available.
            - `unwound_url` string, nullable: The final destination after following redirects.
            - `url` string, required: The t.co shortened URL.
      - `id` string: Unique identifier of this User.
      - `is_identity_verified` boolean: Indicates if this User has completed identity verification.
      - `location` string: The location specified in the User's profile, if the User provided one. As this is a freeform value, it may not indicate a valid location.
      - `most_recent_post_id` string: Unique identifier of this User's most recent Post.
      - `name` string: The friendly name of this User, as shown on their profile.
      - `parody` boolean: Indicates if this User is a parody account.
      - `pinned_post_id` string: Unique identifier of this User's pinned Post.
      - `profile_banner_url` string: The URL to the profile banner for this User.
      - `profile_image_url` string: The URL to the profile image for this User.
      - `protected` boolean: Indicates if this User has chosen to protect their Posts (in other words, if this User's Posts are private).
      - `public_metrics` UserPublicMetrics: A list of metrics for this User.
        - `followers_count` integer, required: Number of Users who follow this User.
        - `following_count` integer, required: Number of Users this User follows.
        - `like_count` integer, nullable: Number of Posts this User has liked.
        - `listed_count` integer, required: Number of Lists that include this User.
        - `media_count` integer, nullable: Number of media items posted by this User.
        - `post_count` integer, required: Number of Posts (including Reposts) created by this User.
      - `receives_your_chat` string: How you can send a Chat message to this User: encrypted, unencrypted, or none.
      - `receives_your_dm` boolean: Indicates if you can send a DM to this User. Omitted when the DM permission can't be determined, so it is never reported as false in that case.
      - `subscriber_count` integer: The number of Premium subscribers of this User.
      - `subscribes_to_you` boolean: Indicates if this User subscribes to you.
      - `subscription` UserSubscription: The subscription relationship between this User and you.
        - `subscribes_to_you` boolean, required: Indicates if this User subscribes to you.
      - `subscription_type` string: The X Blue subscription type of the user, e.g.: Basic, Premium, PremiumPlus or None.
      - `url` string: The URL specified in the User's profile.
      - `username` string: The X handle (screen name) of this User.
      - `verified` boolean: Indicates if this User is a verified X User.
      - `verified_followers_count` integer: The number of verified followers of this User.
      - `verified_type` string: The X Blue verified type of the user, e.g.: blue, government, business or none.
      - `withheld` UserWithheld: Withholding details for withheld content.
        - `country_codes` string[], nullable: A list of countries (as ISO 3166-1 alpha-2 codes) where this content is withheld.
        - `scope` 'user', nullable: The scope of the withholding. Only present, with the value "user", when the entire User is withheld.
  - `meta` object
    - `has_message_requests` boolean
    - `has_more` boolean
    - `next_token` string: Pagination token for the next page of results.
    - `result_count` integer: Number of items in the data array.

## Other responses

- `default`: The request has failed.

## Changes

- **2026-11-03** `2e1fefa37444`: 2 breaking, 11 info
  - added `#/components/schemas/DmBadAttachmentProblem, #/components/schemas/DmBadCtaProblem, #/components/schemas/DmBadCustomProfileProblem, #/components/schemas/DmBadMediaProblem, #/components/schemas/DmBadQuickReplyProblem, #/components/schemas/DmBadUrlProblem, #/components/schemas/DmConversationNameTooLongProblem, #/components/schemas/DmConversationNotFoundProblem, #/components/schemas/DmDuplicateProblem, #/components/schemas/DmInactiveDeviceProblem, #/components/schemas/DmNotDeliveredProblem, #/components/schemas/DmNotFoundProblem, #/components/schemas/DmNotOwnerProblem, #/components/schemas/DmParticipantNotAddedProblem, #/components/schemas/DmParticipantNotFoundProblem, #/components/schemas/DmParticipantRestrictedProblem, #/components/schemas/DmParticipantUnavailableProblem, #/components/schemas/DmRateLimitedProblem, #/components/schemas/DmRecipientBlocksSenderProblem, #/components/schemas/DmRecipientCannotReceiveProblem, #/components/schemas/DmRecipientEncryptedUnavailableProblem, #/components/schemas/DmRecipientNotAcceptingProblem, #/components/schemas/DmRecipientNotFoundProblem, #/components/schemas/DmRecipientRestrictsGroupsProblem, #/components/schemas/DmRecipientUnavailableProblem, #/components/schemas/DmRequestInProgressProblem, #/components/schemas/DmSafetyLimitedProblem, #/components/schemas/DmSafetyRejectedProblem, #/components/schemas/DmSenderBlocksRecipientProblem, #/components/schemas/DmSenderDeclinedDmsProblem, #/components/schemas/DmSenderDmsClosedProblem, #/components/schemas/DmSenderEncryptedUnavailableProblem, #/components/schemas/DmSenderNotInConversationProblem, #/components/schemas/DmSenderNotPermittedProblem, #/components/schemas/DmSenderNotVerifiedProblem, #/components/schemas/DmSenderPhoneRequiredProblem, #/components/schemas/DmSenderReadOnlyProblem, #/components/schemas/DmSenderUnavailableProblem, #/components/schemas/DmTextEmptyProblem, #/components/schemas/DmTextTooLongProblem, #/components/schemas/DmTooFewParticipantsProblem, #/components/schemas/DmTooManyParticipantsProblem, #/components/schemas/DmUnsupportedMessageProblem` to the response body `oneOf` list for the response status `default`
  - added `#/components/schemas/DmBadAttachmentProblem, #/components/schemas/DmBadCtaProblem, #/components/schemas/DmBadCustomProfileProblem, #/components/schemas/DmBadMediaProblem, #/components/schemas/DmBadQuickReplyProblem, #/components/schemas/DmBadUrlProblem, #/components/schemas/DmConversationNameTooLongProblem, #/components/schemas/DmConversationNotFoundProblem, #/components/schemas/DmDuplicateProblem, #/components/schemas/DmInactiveDeviceProblem, #/components/schemas/DmNotDeliveredProblem, #/components/schemas/DmNotFoundProblem, #/components/schemas/DmNotOwnerProblem, #/components/schemas/DmParticipantNotAddedProblem, #/components/schemas/DmParticipantNotFoundProblem, #/components/schemas/DmParticipantRestrictedProblem, #/components/schemas/DmParticipantUnavailableProblem, #/components/schemas/DmRateLimitedProblem, #/components/schemas/DmRecipientBlocksSenderProblem, #/components/schemas/DmRecipientCannotReceiveProblem, #/components/schemas/DmRecipientEncryptedUnavailableProblem, #/components/schemas/DmRecipientNotAcceptingProblem, #/components/schemas/DmRecipientNotFoundProblem, #/components/schemas/DmRecipientRestrictsGroupsProblem, #/components/schemas/DmRecipientUnavailableProblem, #/components/schemas/DmRequestInProgressProblem, #/components/schemas/DmSafetyLimitedProblem, #/components/schemas/DmSafetyRejectedProblem, #/components/schemas/DmSenderBlocksRecipientProblem, #/components/schemas/DmSenderDeclinedDmsProblem, #/components/schemas/DmSenderDmsClosedProblem, #/components/schemas/DmSenderEncryptedUnavailableProblem, #/components/schemas/DmSenderNotInConversationProblem, #/components/schemas/DmSenderNotPermittedProblem, #/components/schemas/DmSenderNotVerifiedProblem, #/components/schemas/DmSenderPhoneRequiredProblem, #/components/schemas/DmSenderReadOnlyProblem, #/components/schemas/DmSenderUnavailableProblem, #/components/schemas/DmTextEmptyProblem, #/components/schemas/DmTextTooLongProblem, #/components/schemas/DmTooFewParticipantsProblem, #/components/schemas/DmTooManyParticipantsProblem, #/components/schemas/DmUnsupportedMessageProblem` to the `errors/items/` response property `oneOf` list for the response status `200`
  - added the new optional `query` request parameter `end_time`
  - added the new optional `query` request parameter `is_archived`
  - …9 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/x/apis/x-api-v2/changes/2/chat/conversations/get.md)

---

[API](https://skmtc.dev/x/apis/x-api-v2.md) - [All operations](https://skmtc.dev/x/apis/x-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/x/apis/x-api-v2/revisions/2e1fefa37444?raw)
