Social MediaMicrobloggingReal-Time DataStreamingAdvertisingContent
DmEvent is a JSON Structure definition published by X (Twitter), describing 13 properties, of which 2 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/twitter/refs/heads/main/json-structure/x-api-dm-event-structure.json",
"name": "DmEvent",
"description": "DmEvent schema from X API v2",
"type": "object",
"properties": {
"attachments": {
"type": "object",
"description": "Specifies the type of attachments (if any) present in this DM.",
"properties": {
"card_ids": {
"type": "array",
"description": "A list of card IDs (if cards are attached).",
"minItems": 1,
"items": {
"type": "string"
}
},
"media_keys": {
"type": "array",
"description": "A list of Media Keys for each one of the media attachments (if media are attached).",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/MediaKey"
}
}
}
},
"cashtags": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/CashtagEntity"
}
},
"created_at": {
"type": "datetime"
},
"dm_conversation_id": {
"type": "string",
"description": "Unique identifier of a DM conversation. This can either be a numeric string, or a pair of numeric strings separated by a '-' character in the case of one-on-one DM Conversations.",
"pattern": "^([0-9]{1,19}-[0-9]{1,19}|[0-9]{15,19})$",
"example": "123123123-456456456"
},
"event_type": {
"type": "string",
"example": "MessageCreate"
},
"hashtags": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/HashtagEntity"
}
},
"id": {
"type": "string",
"description": "Unique identifier of a DM Event.",
"pattern": "^[0-9]{1,19}$",
"example": "1146654567674912769"
},
"mentions": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/MentionEntity"
}
},
"participant_ids": {
"type": "array",
"description": "A list of participants for a ParticipantsJoin or ParticipantsLeave event_type.",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/UserId"
}
},
"referenced_tweets": {
"type": "array",
"description": "A list of Posts this DM refers to.",
"minItems": 1,
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "#/components/schemas/TweetId"
}
}
}
},
"sender_id": {
"type": "string",
"description": "Unique identifier of this User. This is returned as a string in order to avoid complications with languages and tools that cannot handle large integers.",
"pattern": "^[0-9]{1,19}$",
"example": "2244994945"
},
"text": {
"type": "string"
},
"urls": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/UrlEntityDm"
}
}
},
"required": [
"id",
"event_type"
]
}