---
title: "Get DM Events by Conversation ID"
method: GET
path: "/2/dm_conversations/{id}/dm_events"
tags: ["Direct Messages"]
---

# Get DM Events by Conversation ID

`GET /2/dm_conversations/{id}/dm_events`

## Request

- Base URL: `https://api.x.com`
- URL: `https://api.x.com/2/dm_conversations/{id}/dm_events`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://api.x.com/2/oauth2/authorize`
    - Token URL: `https://api.x.com/2/oauth2/token` scopes: `users.read`, `tweet.read`, `dm.read`
  - HTTP oauth

Retrieves direct message events for a specific conversation by its ID.

## Path parameters

- `id` string, required

## Query parameters

- `max_results` integer
- `pagination_token` string
- `event_types` string[]
- `dm_event.fields` string[]: The fields available for a DmEvent object.
- `expansions` string[]
- `user.fields` string[]: The fields available for a User object.
- `post.fields` string[]: The fields available for a Post object.
- `media.fields` string[]: The fields available for a Media object.

## Response `200`

The request has succeeded.

- GetDirectMessagesEventsByConversationIdResponse
  - `data` DmEvent[]
    - `attachments` DmEventAttachments: Media and card attachments present in this Direct Message event.
      - `card_ids` string[], nullable: IDs of cards attached to this Direct Message.
      - `media_keys` string[], nullable: Media keys of media (including audio) attached to this Direct Message.
    - `created_at` string, date-time
    - `dm_conversation_id` string
    - `entities` DmEventEntities: A list of metadata entities (hashtags, cashtags, mentions, URLs) found in the Direct Message 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, required
      - `urls` object[], nullable
        - `display_url` string, nullable: The URL as displayed in the Direct Message text.
        - `end` integer, required
        - `expanded_url` string, nullable: The fully resolved URL.
        - `start` integer, required
        - `url` string, required: The t.co shortened URL.
    - `event_type` string
    - `id` string
    - `participant_ids` string[]
    - `referenced_posts` object[]
      - `id` string, required: Unique identifier of the referenced Post.
    - `sender_id` string
    - `text` string
  - `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
    - `next_token` string: Pagination token for the next page of results.
    - `previous_token` string: Pagination token for the previous 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, 4 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 enum value `receives_your_chat` to the property `items/` of the `query` request parameter `user.fields`
  - added `https://api.x.com/2/problems/dm-bad-attachment, https://api.x.com/2/problems/dm-bad-cta, https://api.x.com/2/problems/dm-bad-custom-profile, https://api.x.com/2/problems/dm-bad-media, https://api.x.com/2/problems/dm-bad-quick-reply, https://api.x.com/2/problems/dm-bad-url, https://api.x.com/2/problems/dm-conversation-name-too-long, https://api.x.com/2/problems/dm-conversation-not-found, https://api.x.com/2/problems/dm-duplicate, https://api.x.com/2/problems/dm-inactive-device, https://api.x.com/2/problems/dm-not-delivered, https://api.x.com/2/problems/dm-not-found, https://api.x.com/2/problems/dm-not-owner, https://api.x.com/2/problems/dm-participant-not-added, https://api.x.com/2/problems/dm-participant-not-found, https://api.x.com/2/problems/dm-participant-restricted, https://api.x.com/2/problems/dm-participant-unavailable, https://api.x.com/2/problems/dm-rate-limited, https://api.x.com/2/problems/dm-recipient-blocks-sender, https://api.x.com/2/problems/dm-recipient-cannot-receive, https://api.x.com/2/problems/dm-recipient-encrypted-unavailable, https://api.x.com/2/problems/dm-recipient-not-accepting, https://api.x.com/2/problems/dm-recipient-not-found, https://api.x.com/2/problems/dm-recipient-restricts-groups, https://api.x.com/2/problems/dm-recipient-unavailable, https://api.x.com/2/problems/dm-request-in-progress, https://api.x.com/2/problems/dm-safety-limited, https://api.x.com/2/problems/dm-safety-rejected, https://api.x.com/2/problems/dm-sender-blocks-recipient, https://api.x.com/2/problems/dm-sender-declined-dms, https://api.x.com/2/problems/dm-sender-dms-closed, https://api.x.com/2/problems/dm-sender-encrypted-unavailable, https://api.x.com/2/problems/dm-sender-not-in-conversation, https://api.x.com/2/problems/dm-sender-not-permitted, https://api.x.com/2/problems/dm-sender-not-verified, https://api.x.com/2/problems/dm-sender-phone-required, https://api.x.com/2/problems/dm-sender-read-only, https://api.x.com/2/problems/dm-sender-unavailable, https://api.x.com/2/problems/dm-text-empty, https://api.x.com/2/problems/dm-text-too-long, https://api.x.com/2/problems/dm-too-few-participants, https://api.x.com/2/problems/dm-too-many-participants, https://api.x.com/2/problems/dm-unsupported-message` mapping keys to the response discriminator for the response status `default`
  - …2 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/x/apis/x-api-v2/changes/2/dm_conversations/:id/dm_events/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)
