Skip to content

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 object
    • conversationIdConversation ID
    • name — string, profile name, may be an empty string, e.g. ""
    • participants — array of objects
      • profileId — integer, Profile ID
      • primaryMediaHash — string or null, see Media -> Public CDN files
      • lastOnline — unix timestamp in milliseconds
      • onlineUntil — unix timestamp in milliseconds or null
      • distanceMetres — float number or null
      • positionSexual position ID or null
      • isInAList — boolean
      • hasDatingPotential — boolean
    • lastActivityTimestamp — unix timestamp in milliseconds
    • unreadCount — integer
    • preview — nested object
      • conversationId — nested object
      • messageId — string, see Message for format
      • chat1MessageId — string with UUIDv4, second part of messageId
      • senderId — integer, Profile ID
      • typeMessage type
      • chat1Type — string, see Message type
      • text — string or null, message text
      • url — unknown, appears to be null
      • lat — unknown, appears to be null
      • lon — unknown, appears to be null
      • albumId — integer, appears to be null
      • albumContentId — unknown, appears to be null
      • albumContentReply — unknown, appears to be null
      • duration — unknown, appears to be null
      • imageHash — unknown, appears to be null
      • photoContentReply — unknown, appears to be null
    • muted — boolean
    • pinned — boolean
    • favorite — boolean
    • context — unknown, appears to be null
    • onlineUntil — unknown, appears to be null
    • translatable — boolean
    • rightNow — string, e.g. "NOT_ACTIVE"
    • hasUnreadThrob — boolean

Get conversations

Requires Authorization.

POST /v4/inbox

Also POST /v3/inbox, seems to be aliased to v4 now

Query (optional):

  • page — 1-based number, pagination

Body (optional):

  • unreadOnly — boolean
  • chemistryOnly — boolean
  • favoritesOnly — boolean
  • rightNowOnly — boolean
  • onlineNowOnly — boolean
  • distanceMeters — "double" number value or null
  • positions — array of integers, sexual position IDs

Response:

  • entries — array of Conversation
  • showsFreeHeaderLabel — boolean
  • totalFullConversations — number, e.g. "5"
  • totalPartialConversations — number, e.g. 0
  • maxDisplayLockCount — number, e.g. 99
  • nextPage — integer, e.g. 2

Get conversations by IDs

POST /v1/inbox/conversation

Body:

Response (array):

  • conversationId - string, e.g. 647135273:771038429
  • name - string, profile name, may be an empty string, e.g. ""
  • participants - array of objects
    • profileId - integer, Profile ID
    • primaryMediaHash - string or null, see Media -> Public CDN files -> Profile Images
    • lastOnline - unix timestamp in milliseconds
    • distanceMetres - float number or null
    • lastActivityTimestamp - unix timestamp in milliseconds
    • unreadCount - integer
    • preview - nested object
      • conversationId - nested object
      • messageId - string, see Message for format
      • chat1MessageId - string with UUIDv4, second part of messageId
      • senderId - integer, Profile ID
      • type - Message type
      • chat1Type - string, see Message type
      • text - string or null, message text
      • url - unknown, appears to be null
      • lat - unknown, appears to be null
      • lon - unknown, appears to be null
      • albumId - integer, appears to be null
      • albumContentId - unknown, appears to be null
      • albumContentReply - unknown, appears to be null
      • duration - unknown, appears to be null
      • imageHash - unknown, appears to be null
      • photoContentReply - unknown, appears to be null
    • muted - boolean
    • pinned - boolean
    • favorite - boolean
    • context - unknown, appears to be null
    • onlineUntil - unknown, appears to be null
    • translatable - boolean
    • rightNow - 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}/pin

No 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}/unpin

No 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}/mute

No 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}/unmute

No body.

Response:

Empty

Get shared media in conversation

Requires Authorization.

GET /v5/chat/media/shared/images/with-me/{conversationId}

Response:

Refresh messages

Requests the messages from the message id

Requires Authorization.

POST /v4/chat/conversation/{conversationId}/message-by-id

Body:

  • messageIds — array of strings

Response:

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/suggestions

Query:

  • conversationId — string

Response:

  • suggestions — array of objects
    • id — UUIDv3
    • text — string
    • typeSAVED_PHRASE | SMART_PHRASE

Chat AI summary feedback, WIP

POST /v1/chat/summary/feedback WingmanSummaryFeedbackDto