Conversations
Conversation ID
String with two long integers separated by :, e.g. "12345678:23456789". Long integers are IDs of Profile. The order of these IDs is always from smaller ID to higher ID, regardless of who started the chat.
Conversation
type— string, e.g."full_conversation_v1"data— nested objectconversationId— Conversation IDname— string, profile name, may be an empty string, e.g.""participants— array of objectsprofileId— integer, Profile IDprimaryMediaHash— string ornull, see Media -> Public CDN fileslastOnline— unix timestamp in millisecondsonlineUntil— unix timestamp in milliseconds ornulldistanceMetres— float number ornullposition— Sexual position ID ornullisInAList— booleanhasDatingPotential— boolean
lastActivityTimestamp— unix timestamp in millisecondsunreadCount— integerpreview— nested objectconversationId— nested objectvalue— Conversation ID
messageId— string, see Message for formatchat1MessageId— string with UUIDv4, second part ofmessageIdsenderId— integer, Profile IDtype— Message typechat1Type— string, see Message typetext— string ornull, message texturl— unknown, appears to benulllat— unknown, appears to benulllon— unknown, appears to benullalbumId— integer, appears to benullalbumContentId— unknown, appears to benullalbumContentReply— unknown, appears to benullduration— unknown, appears to benullimageHash— unknown, appears to benullphotoContentReply— unknown, appears to benull
muted— booleanpinned— booleanfavorite— booleancontext— unknown, appears to benullonlineUntil— unknown, appears to benulltranslatable— booleanrightNow— string, e.g."NOT_ACTIVE"hasUnreadThrob— boolean
Get conversations
Requires Authorization.
POST /v4/inboxAlso POST /v3/inbox, seems to be aliased to v4 now
Query (optional):
page— 1-based number, pagination
Body (optional):
unreadOnly— booleanchemistryOnly— booleanfavoritesOnly— booleanrightNowOnly— booleanonlineNowOnly— booleandistanceMeters— "double" number value ornullpositions— array of integers, sexual position IDs
Response:
entries— array of ConversationshowsFreeHeaderLabel— booleantotalFullConversations— number, e.g."5"totalPartialConversations— number, e.g.0maxDisplayLockCount— number, e.g.99nextPage— integer, e.g.2
Get conversations by IDs
POST /v1/inbox/conversationBody:
- Array of Conversation IDs
Response (array):
conversationId- string, e.g.647135273:771038429name- string, profile name, may be an empty string, e.g.""participants- array of objectsprofileId- integer, Profile IDprimaryMediaHash- string ornull, see Media -> Public CDN files -> Profile ImageslastOnline- unix timestamp in millisecondsdistanceMetres- float number ornulllastActivityTimestamp- unix timestamp in millisecondsunreadCount- integerpreview- nested objectconversationId- nested objectvalue- Conversation ID
messageId- string, see Message for formatchat1MessageId- string with UUIDv4, second part ofmessageIdsenderId- integer, Profile IDtype- Message typechat1Type- string, see Message typetext- string ornull, message texturl- unknown, appears to benulllat- unknown, appears to benulllon- unknown, appears to benullalbumId- integer, appears to benullalbumContentId- unknown, appears to benullalbumContentReply- unknown, appears to benullduration- unknown, appears to benullimageHash- unknown, appears to benullphotoContentReply- unknown, appears to benull
muted- booleanpinned- booleanfavorite- booleancontext- unknown, appears to benullonlineUntil- unknown, appears to benulltranslatable- booleanrightNow- string, e.g."NOT_ACTIVE"hasUnreadThrob- boolean
Delete a conversation
Requires Authorization.
Deletes the conversation on your side. Does not delete the conversation for other chat's participant.
Repeated requests are completed without errors.
DELETE /v4/chat/conversation/{conversationId}Response:
Empty.
Pin a conversation
Requires Authorization.
Affects sorting position in list conversations endpoint response.
Repeated requests are completed without errors. Requests on nonexistent conversations seem to be affecting them after they have been created.
POST /v4/chat/conversation/{conversationId}/pinNo body.
Response:
Empty.
Unpin a conversation
Requires Authorization.
Affects sorting position in list conversations endpoint response. Requests on nonexistent conversations seem to be affecting them after they have been created.
Repeated requests are completed without errors.
POST /v4/chat/conversation/{conversationId}/unpinNo body.
Response:
Empty.
Mute a conversation
Requires Authorization.
Requests on nonexistent conversations seem to be affecting them after they have been created.
Repeated requests are completed without errors.
POST /v1/push/conversation/{conversationId}/muteNo body.
Response:
Empty
Unmute a conversation
Requires Authorization.
Requests on nonexistent conversations seem to be affecting them after they have been created.
Repeated requests are completed without errors.
POST /v1/push/conversation/{conversationId}/unmuteNo body.
Response:
Empty
Get shared media in conversation
Requires Authorization.
GET /v5/chat/media/shared/images/with-me/{conversationId}Response:
images- array of ChatImage
Refresh messages
Requests the messages from the message id
Requires Authorization.
POST /v4/chat/conversation/{conversationId}/message-by-idBody:
messageIds— array of strings
Response:
messages— array of Message
Mark messages as read
Requires Authorization.
POST /v4/chat/conversation/{conversationId}/read/{messageId}Regardless of messageId passed, the whole conversation's unreadCount will be reset to 0. messageId is taken into account to present the "Read" label to sender.
If you'd like to mark conversation as read but don't show it to other participant, you could pass a valid but nonexistent messageId, such as 0:00000000-0000-0000-0000-000000000000.
Invalid messageIds will cause HTTP status 400 Bad Request errors.
No body.
Response:
Empty.
AI chat suggestions
Requires Authorization.
GET /v1/chat/suggestionsQuery:
conversationId— string
Response:
suggestions— array of objectsid— UUIDv3text— stringtype—SAVED_PHRASE|SMART_PHRASE
Chat AI summary feedback, WIP
POST /v1/chat/summary/feedback WingmanSummaryFeedbackDto