Add Conversation Keys
Changed onAdds (initializes or rotates) the encryption keys for a Chat conversation. Call this before sending messages in a new 1:1 conversation, and again with a newer key version to rotate the conversation key. For 1:1 conversations, provide the recipient's user ID as the conversation id; the server constructs the canonical conversation ID from the authenticated user and recipient. The request body must contain the conversation key version and participant keys (the conversation key encrypted for each participant using their public key).
Request
- Base URLhttps://api.x.com
- URLhttps://api.x.com/2/chat/conversations/{id}/keys
- Auth
- OAuth 2Authorization code: https://api.x.com/2/oauth2/authorizeToken URL: https://api.x.com/2/oauth2/token scopes: tweet.read, users.read, dm.write
- or HTTP oauth
Path parameters
Request body
Response
The request has succeeded.
Changes
- breaking
added to the response body
oneOflist for the response status - breaking
added to the
/response propertyoneOflist for the response status - info
added
https://api.x.com/2/problems/dm-bad-attachmenthttps://api.x.com/2/problems/dm-bad-ctahttps://api.x.com/2/problems/dm-bad-custom-profilehttps://api.x.com/2/problems/dm-bad-mediahttps://api.x.com/2/problems/dm-bad-quick-replyhttps://api.x.com/2/problems/dm-bad-urlhttps://api.x.com/2/problems/dm-conversation-name-too-longhttps://api.x.com/2/problems/dm-conversation-not-foundhttps://api.x.com/2/problems/dm-duplicatehttps://api.x.com/2/problems/dm-inactive-devicehttps://api.x.com/2/problems/dm-not-deliveredhttps://api.x.com/2/problems/dm-not-foundhttps://api.x.com/2/problems/dm-not-ownerhttps://api.x.com/2/problems/dm-participant-not-addedhttps://api.x.com/2/problems/dm-participant-not-foundhttps://api.x.com/2/problems/dm-participant-restrictedhttps://api.x.com/2/problems/dm-participant-unavailablehttps://api.x.com/2/problems/dm-rate-limitedhttps://api.x.com/2/problems/dm-recipient-blocks-senderhttps://api.x.com/2/problems/dm-recipient-cannot-receivehttps://api.x.com/2/problems/dm-recipient-encrypted-unavailablehttps://api.x.com/2/problems/dm-recipient-not-acceptinghttps://api.x.com/2/problems/dm-recipient-not-foundhttps://api.x.com/2/problems/dm-recipient-restricts-groupshttps://api.x.com/2/problems/dm-recipient-unavailablehttps://api.x.com/2/problems/dm-request-in-progresshttps://api.x.com/2/problems/dm-safety-limitedhttps://api.x.com/2/problems/dm-safety-rejectedhttps://api.x.com/2/problems/dm-sender-blocks-recipienthttps://api.x.com/2/problems/dm-sender-declined-dmshttps://api.x.com/2/problems/dm-sender-dms-closedhttps://api.x.com/2/problems/dm-sender-encrypted-unavailablehttps://api.x.com/2/problems/dm-sender-not-in-conversationhttps://api.x.com/2/problems/dm-sender-not-permittedhttps://api.x.com/2/problems/dm-sender-not-verifiedhttps://api.x.com/2/problems/dm-sender-phone-requiredhttps://api.x.com/2/problems/dm-sender-read-onlyhttps://api.x.com/2/problems/dm-sender-unavailablehttps://api.x.com/2/problems/dm-text-emptyhttps://api.x.com/2/problems/dm-text-too-longhttps://api.x.com/2/problems/dm-too-few-participantshttps://api.x.com/2/problems/dm-too-many-participantshttps://api.x.com/2/problems/dm-unsupported-messagemapping keys to the response discriminator for the response status - info
added
https://api.x.com/2/problems/dm-bad-attachmenthttps://api.x.com/2/problems/dm-bad-ctahttps://api.x.com/2/problems/dm-bad-custom-profilehttps://api.x.com/2/problems/dm-bad-mediahttps://api.x.com/2/problems/dm-bad-quick-replyhttps://api.x.com/2/problems/dm-bad-urlhttps://api.x.com/2/problems/dm-conversation-name-too-longhttps://api.x.com/2/problems/dm-conversation-not-foundhttps://api.x.com/2/problems/dm-duplicatehttps://api.x.com/2/problems/dm-inactive-devicehttps://api.x.com/2/problems/dm-not-deliveredhttps://api.x.com/2/problems/dm-not-foundhttps://api.x.com/2/problems/dm-not-ownerhttps://api.x.com/2/problems/dm-participant-not-addedhttps://api.x.com/2/problems/dm-participant-not-foundhttps://api.x.com/2/problems/dm-participant-restrictedhttps://api.x.com/2/problems/dm-participant-unavailablehttps://api.x.com/2/problems/dm-rate-limitedhttps://api.x.com/2/problems/dm-recipient-blocks-senderhttps://api.x.com/2/problems/dm-recipient-cannot-receivehttps://api.x.com/2/problems/dm-recipient-encrypted-unavailablehttps://api.x.com/2/problems/dm-recipient-not-acceptinghttps://api.x.com/2/problems/dm-recipient-not-foundhttps://api.x.com/2/problems/dm-recipient-restricts-groupshttps://api.x.com/2/problems/dm-recipient-unavailablehttps://api.x.com/2/problems/dm-request-in-progresshttps://api.x.com/2/problems/dm-safety-limitedhttps://api.x.com/2/problems/dm-safety-rejectedhttps://api.x.com/2/problems/dm-sender-blocks-recipienthttps://api.x.com/2/problems/dm-sender-declined-dmshttps://api.x.com/2/problems/dm-sender-dms-closedhttps://api.x.com/2/problems/dm-sender-encrypted-unavailablehttps://api.x.com/2/problems/dm-sender-not-in-conversationhttps://api.x.com/2/problems/dm-sender-not-permittedhttps://api.x.com/2/problems/dm-sender-not-verifiedhttps://api.x.com/2/problems/dm-sender-phone-requiredhttps://api.x.com/2/problems/dm-sender-read-onlyhttps://api.x.com/2/problems/dm-sender-unavailablehttps://api.x.com/2/problems/dm-text-emptyhttps://api.x.com/2/problems/dm-text-too-longhttps://api.x.com/2/problems/dm-too-few-participantshttps://api.x.com/2/problems/dm-too-many-participantshttps://api.x.com/2/problems/dm-unsupported-messagediscriminator mapping keys to the/response property for the response status
- breaking
- breaking
added to the response body
oneOflist for the response status - breaking
added to the
/response propertyoneOflist for the response status - info
added
https://api.twitter.com/2/problems/duplicate-ruleshttps://api.twitter.com/2/problems/invalid-ruleshttps://api.x.com/2/problems/recipient-not-messageablemapping keys to the response discriminator for the response status - info
added
https://api.twitter.com/2/problems/duplicate-ruleshttps://api.twitter.com/2/problems/invalid-ruleshttps://api.x.com/2/problems/recipient-not-messageablediscriminator mapping keys to the/response property for the response status
- breaking