Conversations
Get conversations
Requires Authorization.
Also POST /v3/inbox, seems to be aliased to v4 now
POST /v4/inboxQuery (optional):
page— 1-based number, pagination, optional
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 (v3 alias)
Requires Authorization.
POST /v3/inboxQuery (optional):
page— 1-based number, pagination, optional
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 ID.
Response:
Array of ConversationData.
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 get 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}/pinResponse:
Empty.
Unpin a conversation
Requires Authorization.
Affects sorting position in get 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}/unpinResponse:
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}/muteResponse:
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}/unmuteResponse:
Empty
Get shared media in conversation
Requires Authorization.
GET /v5/chat/media/shared/images/with-me/{conversationId}Response:
images— array of ChatImageBody
Refresh messages
Requires Authorization.
Requests the messages from the message id
POST /v4/chat/conversation/{conversationId}/message-by-idBody:
messageIds— array of strings
Response:
messages— array of Message
Mark messages as read
Requires Authorization.
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.
POST /v4/chat/conversation/{conversationId}/read/{messageId}Response:
Empty.
AI chat suggestions
Requires Authorization.
GET /v1/chat/suggestionsQuery:
conversationId— Conversation ID
Response:
suggestions— array of objectsid— UUIDv3text— stringtype— string,SAVED_PHRASE|SMART_PHRASE
Chat AI summary feedback, WIP
This endpoint hasn't been researched yet
POST /v1/chat/summary/feedbackConversation 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.
ConversationParticipant
profileId— 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
ConversationPreview
conversationId— objectvalue— Conversation ID
messageId— stringchat1MessageId— string with UUIDv4, second part ofmessageIdsenderId— Profile IDtype— Message typechat1Type— Chat1MessageTypetext— string ornullurl— unknown ornulllat— unknown ornulllon— unknown ornullalbumId— integer ornullalbumContentId— unknown ornullalbumContentReply— unknown ornullduration— unknown ornullimageHash— string ornullphotoContentReply— unknown ornull
ConversationData
conversationId— Conversation IDname— string, profile name, may be an empty string, e.g.""participants— array of ConversationParticipantlastActivityTimestamp— unix timestamp in millisecondsunreadCount— integerpreview— ConversationPreviewmuted— booleanpinned— booleanfavorite— booleancontext— unknown ornullonlineUntil— unknown ornulltranslatable— booleanrightNow— string, e.g."NOT_ACTIVE"hasUnreadThrob— boolean
Conversation
Conversation object.
type— string, e.g."full_conversation_v1"data— ConversationData
InboxFilterRequest
unreadOnly— booleanchemistryOnly— booleanfavoritesOnly— booleanrightNowOnly— booleanonlineNowOnly— booleandistanceMeters— "double" number value ornullpositions— array of integers, sexual position IDs
InboxResponse
entries— array of ConversationshowsFreeHeaderLabel— booleantotalFullConversations— number, e.g."5"totalPartialConversations— number, e.g.0maxDisplayLockCount— number, e.g.99nextPage— integer, e.g.2
ConversationProfileMini
profileId— long integername— stringmediaHash— string, See Media ornullonlineUntil— unknown ornulldistance— number ornullshowDistance— boolean
ChatSuggestionsResponse
suggestions— array of objectsid— UUIDv3text— stringtype— string,SAVED_PHRASE|SMART_PHRASE