---
title: "Changes to Get DM Event by ID"
method: GET
path: "/2/dm_events/{event_id}"
---

# Changes to Get DM Event by ID

`GET /2/dm_events/{event_id}`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 11 of 20 revisions.

- **2026-11-03** `2e1fefa37444`: 2 breaking, 4 info
- **2026-10-26** `23643fd75fe0`: 2 breaking, 7 info
- **2026-08-15** `c74357dfe14e`: 78 breaking, 15 warning, 96 info
- **2026-05-12** `dd4e81f817ba`: 2 info
- **2025-12-21** `1a92a48036c1`: 6 info
- **2025-05-16** `141a148b1e41`: 2 info
- **2025-04-29** `18b84dc8a40e`: 1 breaking, 7 info
- **2024-11-12** `868bd5edfab0`: 2 info
- **2024-09-30** `3d780a076054`: 1 breaking, 4 info
- **2024-08-01** `c1c95c477df2`: 3 breaking, 6 info
- **2024-02-29** `079be99de01f`: 1 info

## 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`
  - added the optional property `includes/users/items/receives_your_chat` to the response with the `200` status
  - 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` discriminator mapping keys to the `errors/items/` response property for the response status `200`
- **2026-10-26** `23643fd75fe0`: 2 breaking, 7 info
  - added `#/components/schemas/RecipientNotMessageableProblem, #/components/schemas/DuplicateRuleProblem, #/components/schemas/InvalidRuleProblem` to the response body `oneOf` list for the response status `default`
  - added `#/components/schemas/RecipientNotMessageableProblem, #/components/schemas/DuplicateRuleProblem, #/components/schemas/InvalidRuleProblem` to the `errors/items/` response property `oneOf` list for the response status `200`
  - added the enum value `active_follower_count` to the property `items/` of the `query` request parameter `user.fields`
  - added the enum value `subscriber_count` to the property `items/` of the `query` request parameter `user.fields`
  - added `https://api.twitter.com/2/problems/duplicate-rules, https://api.twitter.com/2/problems/invalid-rules, https://api.x.com/2/problems/recipient-not-messageable` mapping keys to the response discriminator for the response status `default`
  - added the optional property `includes/calls` to the response with the `200` status
  - added the optional property `includes/users/items/active_follower_count` to the response with the `200` status
  - added the optional property `includes/users/items/subscriber_count` to the response with the `200` status
  - added `https://api.twitter.com/2/problems/duplicate-rules, https://api.twitter.com/2/problems/invalid-rules, https://api.x.com/2/problems/recipient-not-messageable` discriminator mapping keys to the `errors/items/` response property for the response status `200`
- **2026-08-15** `c74357dfe14e`: 78 breaking, 15 warning, 96 info
  - removed the enum value `affiliation` from the property `items/` of the `query` request parameter `user.fields`
  - removed the enum value `most_recent_tweet_id` from the property `items/` of the `query` request parameter `user.fields`
  - removed the enum value `participant_ids` from the property `items/` of the `query` request parameter `dm_event.fields`
  - removed the enum value `pinned_tweet_id` from the property `items/` of the `query` request parameter `user.fields`
  - removed the enum value `referenced_tweets` from the property `items/` of the `query` request parameter `dm_event.fields`
  - removed the enum value `referenced_tweets.id` from the property `items/` of the `query` request parameter `expansions`
  - removed the enum value `sender_id` from the property `items/` of the `query` request parameter `dm_event.fields`
  - added `#/components/schemas/ResourceNotFoundProblem, #/components/schemas/InvalidRequestProblem, #/components/schemas/NotAuthorizedForResourceProblem, #/components/schemas/NotAuthorizedForFieldProblem, #/components/schemas/FieldUnauthorizedProblem, #/components/schemas/FieldHydrationFailureProblem, #/components/schemas/ResourceUnavailableProblem, #/components/schemas/DisallowedResourceProblem, #/components/schemas/InternalErrorProblem` to the response body `oneOf` list for the response status `default`
  - the response's body type changed from `object` to no type for status `default`
  - the response property `data/attachments/card_ids` became nullable for the status `200`
  - the response property `data/attachments/media_keys` became nullable for the status `200`
  - the response property `includes/users/items/affiliation/badge_url` became nullable for the status `200`
  - the response property `includes/users/items/affiliation/description` became nullable for the status `200`
  - the response property `includes/users/items/affiliation/url` became nullable for the status `200`
  - the response property `includes/users/items/affiliation/user_id` became nullable for the status `200`
  - the response property `includes/users/items/entities/description` became nullable for the status `200`
  - the response property `includes/users/items/entities/description/cashtags` became nullable for the status `200`
  - the response property `includes/users/items/entities/description/hashtags` became nullable for the status `200`
  - the response property `includes/users/items/entities/description/mentions` became nullable for the status `200`
  - the response property `includes/users/items/entities/description/urls` became nullable for the status `200`
  - the response property `includes/users/items/entities/url` became nullable for the status `200`
  - the response property `includes/users/items/entities/url/urls` became nullable for the status `200`
  - the response property `includes/users/items/public_metrics/like_count` became nullable for the status `200`
  - the response property `includes/users/items/withheld/country_codes` became nullable for the status `200`
  - the response property `includes/users/items/withheld/scope` became nullable for the status `200`
  - the response property `data/event_type` became optional for the status `200`
  - the response property `data/id` became optional for the status `200`
  - the response property `includes/media/items/type` became optional for the status `200`
  - the response property `includes/places/items/full_name` became optional for the status `200`
  - the response property `includes/places/items/id` became optional for the status `200`
  - the response property `includes/polls/items/id` became optional for the status `200`
  - the response property `includes/polls/items/options` became optional for the status `200`
  - the response property `includes/topics/items/id` became optional for the status `200`
  - the response property `includes/topics/items/name` became optional for the status `200`
  - the response property `includes/users/items/id` became optional for the status `200`
  - the response property `includes/users/items/name` became optional for the status `200`
  - the response property `includes/users/items/username` became optional for the status `200`
  - the response property `includes/users/items/withheld/country_codes` became optional for the status `200`
  - the `includes/polls/items/options/items/label` response property's maxLength was unset from `25` for the response status `200`
  - the `data/attachments/card_ids` response property's minItems was decreased from `1` to `0` for the response status `200`
  - …149 more
- **2026-05-12** `dd4e81f817ba`: 2 info
  - added the enum value `matched_media_notes` to the property `items/` of the `query` request parameter `tweet.fields`
  - added the optional property `includes/tweets/items/matched_media_notes` to the response with the `200` status
- **2025-12-21** `1a92a48036c1`: 6 info
  - api operation id `getDmEventsById` removed and replaced with `getDirectMessagesEventsById`
  - added the enum value `suggested_source_links` to the property `items/` of the `query` request parameter `tweet.fields`
  - added the enum value `suggested_source_links_with_counts` to the property `items/` of the `query` request parameter `tweet.fields`
  - added the optional property `includes/tweets/items/display_text_range` to the response with the `200` status
  - added the optional property `includes/tweets/items/suggested_source_links` to the response with the `200` status
  - added the optional property `includes/tweets/items/suggested_source_links_with_counts` to the response with the `200` status
- **2025-05-16** `141a148b1e41`: 2 info
  - removed `https://api.twitter.com/2/problems/oauth1-permissions` mapping keys from the response discriminator for the response status `default`
  - removed `https://api.twitter.com/2/problems/oauth1-permissions` discriminator mapping keys from the `errors/items/` response property for the response status `200`
- **2025-04-29** `18b84dc8a40e`: 1 breaking, 7 info
  - the `includes/users/items/affiliation/user_id` response's property type changed from `string` to `array` for status `200`
  - added the enum value `community_id` to the property `items/` of the `query` request parameter `tweet.fields`
  - added the enum value `confirmed_email` to the property `items/` of the `query` request parameter `user.fields`
  - added the enum value `is_identity_verified` to the property `items/` of the `query` request parameter `user.fields`
  - added the enum value `parody` to the property `items/` of the `query` request parameter `user.fields`
  - added the enum value `subscription` to the property `items/` of the `query` request parameter `user.fields`
  - added the enum value `verified_followers_count` to the property `items/` of the `query` request parameter `user.fields`
  - the `includes/users/items/affiliation/user_id` response's property pattern `^[0-9]{1,19}$` was removed for the status `200`
- **2024-11-12** `868bd5edfab0`: 2 info
  - added the enum value `media_metadata` to the property `items/` of the `query` request parameter `tweet.fields`
  - added the optional property `includes/tweets/items/community_id` to the response with the `200` status
- **2024-09-30** `3d780a076054`: 1 breaking, 4 info
  - removed the enum value `username` from the property `items/` of the `query` request parameter `tweet.fields`
  - added the enum value `affiliation` to the property `items/` of the `query` request parameter `user.fields`
  - added the enum value `display_text_range` to the property `items/` of the `query` request parameter `tweet.fields`
  - added the optional property `includes/users/items/affiliation` to the response with the `200` status
  - added the optional property `includes/users/items/profile_banner_url` to the response with the `200` status
- **2024-08-01** `c1c95c477df2`: 3 breaking, 6 info
  - the response property `includes/tweets/items/edit_history_tweet_ids` became optional for the status `200`
  - the response property `includes/tweets/items/id` became optional for the status `200`
  - the response property `includes/tweets/items/text` became optional for the status `200`
  - added the enum value `article` to the property `items/` of the `query` request parameter `tweet.fields`
  - added the enum value `profile_banner_url` to the property `items/` of the `query` request parameter `user.fields`
  - added the enum value `scopes` to the property `items/` of the `query` request parameter `tweet.fields`
  - added the enum value `username` to the property `items/` of the `query` request parameter `tweet.fields`
  - added the optional property `includes/tweets/items/scopes` to the response with the `200` status
  - added the optional property `includes/tweets/items/username` to the response with the `200` status
- **2024-02-29** `079be99de01f`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/x/apis/x-api-v2/docs/2/dm_events/:event_id/get.md) - [API](https://skmtc.dev/x/apis/x-api-v2.md) - [Page](https://skmtc.dev/x/apis/x-api-v2/changes/2/dm_events/:event_id/get)
