# Feeld API Documentation **Extracted from Proxyman captures on 2026-01-24** ## Overview - **GraphQL Endpoint**: `https://core.api.fldcore.com/graphql` - **Authentication**: Firebase Auth (Google SecureToken API) - **App Version**: 8.7.8 - **iOS Version**: 18.6.2 ### Known API Limitations | Missing Feature | Notes | |-----------------|-------| | "Profiles I Liked" query | No endpoint exists. Liked profiles are removed from discover feed. | | "Profiles I Passed" query | No endpoint exists. Passed profiles are removed from discover feed. | | Undo like/pass | No mutation observed for undoing interactions. | ## Table of Contents ### Authentication - [FirebaseTokenRefresh](#firebasetokenrefresh) - [AuthProviderQuery](#authproviderquery) - [AuthProviderSigninMutation](#authprovidersigninmutation) - [AuthProviderSignupMutation](#authprovidersignupmutation) - [AuthProviderStatusSyncQuery](#authproviderstatussyncquery) ### Profile - [ProfileQuery](#profilequery) - [AnalyticsQuery](#analyticsquery) - [PhotoSelectorQuery](#photoselectorquery) - [IsIncognitoQuery](#isincognitoquery) - [LastSeenProviderUpdateProfile](#lastseenproviderupdateprofile) ### Discovery - [DiscoverProfiles](#discoverprofiles) - [DiscoverSearchSettingsQuery](#discoversearchsettingsquery) - [SearchSettingsUpdate](#searchsettingsupdate) - [AvailableDesires](#availabledesires) ### Interactions - [WhoLikesMe](#wholikesme) - [FilteredWhoLikesMe](#filteredwholikesme) - [WhoPingsMe](#whopingsme) - [ProfileLike](#profilelike) *(NEW)* ### Messages/Chat - [HeaderSummaries](#headersummaries) - [ListSummaries](#listsummaries) - [GetChatSummary](#getchatsummary) *(NEW)* - [ChatAttachment CDN](#chatattachment-cdn) *(NEW - REST)* - [ChatAttachment Thumbnail](#chatattachment-thumbnail) *(NEW - REST)* ### Real-time - [WebSocket Subscription](#websocket-subscription) *(NEW)* ### Account - [AccountAcceptLegalNotices](#accountacceptlegalnotices) - [AccountAddNotificationToken](#accountaddnotificationtoken) - [hasLinkedReflection](#haslinkedreflection) ### Subscriptions - [UpliftPurchaseQuery](#upliftpurchasequery) ### Location - [DeviceLocationUpdate](#devicelocationupdate) --- ## Required Headers ``` Authorization: Bearer x-profile-id: profile# x-app-version: 8.7.8 x-device-os: ios x-os-version: 18.6.2 Content-Type: application/json x-transaction-id: x-event-analytics-id: ``` --- ## AccountAcceptLegalNotices **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "input": { "legalNoticeType": "PRIVACY_POLICY", "version": "2025-09-10T00:00:00.000Z" } } ``` ### Query ```graphql mutation AccountAcceptLegalNotices($input: [AccountAcceptLegalNoticeInput!]!) { accountAcceptLegalNotices(input: $input) { id __typename } } ``` ### Response ```json { "data": { "accountAcceptLegalNotices": { "id": "account#bc637253-ed67-4eca-8018-a940bcce0f45", "__typename": "Account" } }, "extensions": { "requestId": "11d70923-c7c2-4259-8bb3-6ed0bfd6a679" } } ``` --- ## AccountAddNotificationToken **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "token": "chLtoJmdT0d0iOQwf7abCa:APA91bGWB7axxdJawCowSah-UdB259_XcxZ76Nt4N_v0KRxo6et8bULp6W_auBNU0P5mCeYlDVRKRjilZrqumBhB7n7WiMoB910oGjx6AIb1p8inEAfN2Ms" } ``` ### Query ```graphql mutation AccountAddNotificationToken($token: String!) { accountAddNotificationToken(input: {token: $token}) } ``` ### Response ```json { "data": { "accountAddNotificationToken": true }, "extensions": { "requestId": "e6da835d-7ab6-44ce-abb4-157b7a7d8c81" } } ``` --- ## AnalyticsQuery **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "profileId": "profile#73b79341-5ff8-411c-806f-5b25cb834471" } ``` ### Query ```graphql query AnalyticsQuery($profileId: String!) { account { ...AnalyticsAccountFragment __typename } profile(id: $profileId) { ...AnalyticsOwnProfileFragment __typename } } fragment AnalyticsAccountFragment on Account { id analyticsId __typename } fragment AnalyticsOwnProfileFragment on Profile { id age ageRange bio desires desiringFor analyticsId distanceMax hasHiddenBio hiddenBio interests isUplift recentlyOnline isIncognito status isMajestic gender dateOfBirth lookingFor sexuality allowPWM enableChatContentModeration location { ...ProfileLocationFragment __typename } profilePairs { identityId __typename } __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } ``` ### Response ```json { "errors": [ { "message": "Must accept legal notices <{\"privacy_policy\":\"2025-09-10T00:00:00.000Z\"}>", "locations": [ { "line": 2, "column": 3 } ], "path": [ "account" ], "extensions": { "code": "UNAUTHENTICATED", "originalError": { "message": "Must accept legal notices <{\"privacy_policy\":\"2025-09-10T00:00:00.000Z\"}>", "error": "ACCOUNT_MISSING_PP", "statusCode": 401 } } } ], "data": null, "extensions": { "requestId": "ef0ca535-84df-4e74-b225-46491db3b914" } } ``` --- ## AuthProviderQuery **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json {} ``` ### Query ```graphql query AuthProviderQuery { account { ...AuthProviderFragment __typename } } fragment AuthProviderFragment on Account { id email analyticsId status createdAt isFinishedOnboarding isMajestic upliftExpirationTimestamp isUplift isDistanceInMiles language ageVerificationStatus verificationNumber challenges ...AppSettingsOptionsAccountFragment location { device { country __typename } __typename } profiles { ...AuthProfile __typename } __typename } fragment AppSettingsOptionsAccountFragment on Account { appSettings { receiveMarketingNotifications receiveNewsEmailNotifications receivePromotionsEmailNotifications receiveNewsPushNotifications receivePromotionsPushNotifications receiveNewConnectionPushNotifications receiveNewPingPushNotifications receiveNewMessagePushNotifications receiveNewLikePushNotifications __typename } __typename } fragment AuthProfile on Profile { imaginaryName verificationLimits { attemptsAvailable __typename } connectionGoals canVerify photos { pictureUrl pictureStatus ...PictureVerificationMeta ...GetPictureUrlFragment __typename } verificationStatus reflectionResponseIds ...ChatUser ...AnalyticsOwnProfileFragment reflectionResponseIds __typename } fragment PictureVerificationMeta on Picture { id verification { status updatedAt sessionUrl failureReason attempts __typename } enrollment { sessionId status updatedAt failureReason __typename } __typename } fragment GetPictureUrlFragment on Picture { id publicId pictureIsSafe pictureIsPrivate pictureUrl pictureUrls { small medium large __typename } __typename } fragment ChatUser on Profile { id streamToken streamUserId __typename } fragment AnalyticsOwnProfileFragment on Profile { id age ageRange bio desires desiringFor analyticsId distanceMax hasHiddenBio hiddenBio interests isUplift recentlyOnline isIncognito status isMajestic gender dateOfBirth lookingFor sexuality allowPWM enableChatContentModeration location { ...ProfileLocationFragment __typename } profilePairs { identityId __typename } __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } ``` ### Response ```json { "errors": [ { "message": "Must accept legal notices <{\"privacy_policy\":\"2025-09-10T00:00:00.000Z\"}>", "locations": [ { "line": 2, "column": 3 } ], "path": [ "account" ], "extensions": { "code": "UNAUTHENTICATED", "originalError": { "message": "Must accept legal notices <{\"privacy_policy\":\"2025-09-10T00:00:00.000Z\"}>", "error": "ACCOUNT_MISSING_PP", "statusCode": 401 } } } ], "data": null, "extensions": { "requestId": "4ffd7a09-3563-450c-abef-61f0a76a26b1" } } ``` --- ## AuthProviderSigninMutation **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "input": { "deviceFingerprint": "iOS;a2f1f31e-80b8-4a7d-b471-691b1ad44781;sB4klOf9/U7LUB4q0fOcIQ==;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", "deviceDetails": "eyJ2ZXJzaW9uIjoxLCJkZXZpY2VJZCI6ImlQaG9uZTE0LDQiLCJkZXZpY2VNb2RlbCI6ImlQaG9uZSAxMyBtaW5pIiwiZGV2aWNlTWFudWZhY3R1cmVyIjoiQXBwbGUiLCJkZXZpY2VUeXBlIjoiSGFuZHNldCIsInN5c3RlbU5hbWUiOiJpT1MiLCJzeXN0ZW1WZXJzaW9uIjoiMTguNi4yIiwic2NyZWVuU2l6ZSI6IjM3NXg4MTIiLCJwaXhlbERlbnNpdHkiOjMsImlzSmFpbEJyb2tlbiI6ZmFsc2UsImlzRW11bGF0b3IiOmZhbHNlLCJpc0hvb2tlZCI6ZmFsc2UsImlzRGVidWdnZWRNb2RlIjpmYWxzZSwiY2FuTW9ja0xvY2F0aW9uIjpmYWxzZSwiaXNPbkV4dGVybmFsU3RvcmFnZSI6ZmFsc2UsImlzRGV2ZWxvcG1lbnRNb2RlIjpmYWxzZX0=", "appCheckToken": "eyJraWQiOiJ2ckU4dWciLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxOjU5NDE1Mjc2MTYwMzppb3M6ZjUyY2YxNWVmZmY4Mjc4NjFiMjEzNiIsImF1ZCI6WyJwcm9qZWN0cy81OTQxNTI3NjE2MDMiLCJwcm9qZWN0cy9mMi1wcm9kLTUzNDc1Il0sInByb3ZpZGVyIjoiZGV2aWNlX2NoZWNrX2FwcF9hdHRlc3QiLCJpc3MiOiJodHRwczovL2ZpcmViYXNlYXBwY2hlY2suZ29vZ2xlYXBpcy5jb20vNTk0MTUyNzYxNjAzIiwiZXhwIjoxNzY5MjU3ODExLCJpYXQiOjE3NjkyNTQyMTEsImp0aSI6IlE5VnBxZDFEZmVOYXR4QUtMRU5TTGdjYWV0cC1HREtqMWRvVXhWcE5GR2cifQ.aF9ZDNHy26wxPBtdERS98FSDRD2JK2bcLt78ErwQG7DFu8X6tEz8JAempzAUSrdfubxuKWzah3mT-evRTa3XXQuovyvuP9V1rlveZE_V-eGmIvvWgs_jd--jUUowmpAyY7nMLi-9V_9gg8QnJRwTO1F_8gO1go61UtidYOm4ZBo7-_NBRSof-9F81RBKiD2JgMraEs-2KfbkhkBvXHhDQCQC8tvwJUa-EMNIVcLaYYPkezm-jt4oUaT0tifQquZrU71468P3X2swa-ib8s3eSUnNxOCt41QyPkOgETEe56gmR3tHI6wRgQpbDAaLSM9mWC86vqIiDE667msBD37rvMfhCwl1V_9uNwVP9xgbuQ8rd0dztEgv3P-C0HlOUcgmofJ9PAWN1OL3eQJPh--78AZhpzRj5PZhCkXFXPKd5kgCeVcIFMp2nx9LOhPqYhn2hIzDAavcTM383Arkps7IKqfIvnFYFEcbe4_x-91OG9_OFtEas2Xv7neDXQrCdaKz", "deviceId": "269BEA7B-62CE-424B-9CEB-78F4E654EB15", "deviceLocation": { "latitude": 33.027, "longitude": -97.061, "city": "", "country": "" } } } ``` ### Query ```graphql mutation AuthProviderSigninMutation($input: SignInInput!) { signin(input: $input) { ...AuthProviderFragment __typename } } fragment AuthProviderFragment on Account { id email analyticsId status createdAt isFinishedOnboarding isMajestic upliftExpirationTimestamp isUplift isDistanceInMiles language ageVerificationStatus verificationNumber challenges ...AppSettingsOptionsAccountFragment location { device { country __typename } __typename } profiles { ...AuthProfile __typename } __typename } fragment AppSettingsOptionsAccountFragment on Account { appSettings { receiveMarketingNotifications receiveNewsEmailNotifications receivePromotionsEmailNotifications receiveNewsPushNotifications receivePromotionsPushNotifications receiveNewConnectionPushNotifications receiveNewPingPushNotifications receiveNewMessagePushNotifications receiveNewLikePushNotifications __typename } __typename } fragment AuthProfile on Profile { imaginaryName verificationLimits { attemptsAvailable __typename } connectionGoals canVerify photos { pictureUrl pictureStatus ...PictureVerificationMeta ...GetPictureUrlFragment __typename } verificationStatus reflectionResponseIds ...ChatUser ...AnalyticsOwnProfileFragment reflectionResponseIds __typename } fragment PictureVerificationMeta on Picture { id verification { status updatedAt sessionUrl failureReason attempts __typename } enrollment { sessionId status updatedAt failureReason __typename } __typename } fragment GetPictureUrlFragment on Picture { id publicId pictureIsSafe pictureIsPrivate pictureUrl pictureUrls { small medium large __typename } __typename } fragment ChatUser on Profile { id streamToken streamUserId __typename } fragment AnalyticsOwnProfileFragment on Profile { id age ageRange bio desires desiringFor analyticsId distanceMax hasHiddenBio hiddenBio interests isUplift recentlyOnline isIncognito status isMajestic gender dateOfBirth lookingFor sexuality allowPWM enableChatContentModeration location { ...ProfileLocationFragment __typename } profilePairs { identityId __typename } __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } ``` ### Response ```json { "errors": [ { "message": "Must accept legal notices <{\"privacy_policy\":\"2025-09-10T00:00:00.000Z\"}>", "locations": [ { "line": 2, "column": 3 } ], "path": [ "signin" ], "extensions": { "code": "UNAUTHENTICATED", "originalError": { "message": "Must accept legal notices <{\"privacy_policy\":\"2025-09-10T00:00:00.000Z\"}>", "error": "ACCOUNT_MISSING_PP", "statusCode": 401 } } } ], "data": null, "extensions": { "requestId": "16ac9234-0d07-4e6d-8c43-bc2726de1f15" } } ``` --- ## AuthProviderSignupMutation **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "input": { "deviceFingerprintId": "iOS;a2f1f31e-80b8-4a7d-b471-691b1ad44781;/c1ltFDol/sJVsYD2s45wA==;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", "deviceDetails": "eyJ2ZXJzaW9uIjoxLCJkZXZpY2VJZCI6ImlQaG9uZTE0LDQiLCJkZXZpY2VNb2RlbCI6ImlQaG9uZSAxMyBtaW5pIiwiZGV2aWNlTWFudWZhY3R1cmVyIjoiQXBwbGUiLCJkZXZpY2VUeXBlIjoiSGFuZHNldCIsInN5c3RlbU5hbWUiOiJpT1MiLCJzeXN0ZW1WZXJzaW9uIjoiMTguNi4yIiwic2NyZWVuU2l6ZSI6IjM3NXg4MTIiLCJwaXhlbERlbnNpdHkiOjMsImlzSmFpbEJyb2tlbiI6ZmFsc2UsImlzRW11bGF0b3IiOmZhbHNlLCJpc0hvb2tlZCI6ZmFsc2UsImlzRGVidWdnZWRNb2RlIjpmYWxzZSwiY2FuTW9ja0xvY2F0aW9uIjpmYWxzZSwiaXNPbkV4dGVybmFsU3RvcmFnZSI6ZmFsc2UsImlzRGV2ZWxvcG1lbnRNb2RlIjpmYWxzZX0=", "appCheckToken": "eyJraWQiOiJ2ckU4dWciLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxOjU5NDE1Mjc2MTYwMzppb3M6ZjUyY2YxNWVmZmY4Mjc4NjFiMjEzNiIsImF1ZCI6WyJwcm9qZWN0cy81OTQxNTI3NjE2MDMiLCJwcm9qZWN0cy9mMi1wcm9kLTUzNDc1Il0sInByb3ZpZGVyIjoiZGV2aWNlX2NoZWNrX2FwcF9hdHRlc3QiLCJpc3MiOiJodHRwczovL2ZpcmViYXNlYXBwY2hlY2suZ29vZ2xlYXBpcy5jb20vNTk0MTUyNzYxNjAzIiwiZXhwIjoxNzY5MjU3ODExLCJpYXQiOjE3NjkyNTQyMTEsImp0aSI6IlE5VnBxZDFEZmVOYXR4QUtMRU5TTGdjYWV0cC1HREtqMWRvVXhWcE5GR2cifQ.aF9ZDNHy26wxPBtdERS98FSDRD2JK2bcLt78ErwQG7DFu8X6tEz8JAempzAUSrdfubxuKWzah3mT-evRTa3XXQuovyvuP9V1rlveZE_V-eGmIvvWgs_jd--jUUowmpAyY7nMLi-9V_9gg8QnJRwTO1F_8gO1go61UtidYOm4ZBo7-_NBRSof-9F81RBKiD2JgMraEs-2KfbkhkBvXHhDQCQC8tvwJUa-EMNIVcLaYYPkezm-jt4oUaT0tifQquZrU71468P3X2swa-ib8s3eSUnNxOCt41QyPkOgETEe56gmR3tHI6wRgQpbDAaLSM9mWC86vqIiDE667msBD37rvMfhCwl1V_9uNwVP9xgbuQ8rd0dztEgv3P-C0HlOUcgmofJ9PAWN1OL3eQJPh--78AZhpzRj5PZhCkXFXPKd5kgCeVcIFMp2nx9LOhPqYhn2hIzDAavcTM383Arkps7IKqfIvnFYFEcbe4_x-91OG9_OFtEas2Xv7neDXQrCdaKz", "deviceUId": "269BEA7B-62CE-424B-9CEB-78F4E654EB15" } } ``` ### Query ```graphql mutation AuthProviderSignupMutation($input: AccountCreateInput!) { signup(input: $input) { ...AuthProviderFragment __typename } } fragment AuthProviderFragment on Account { id email analyticsId status createdAt isFinishedOnboarding isMajestic upliftExpirationTimestamp isUplift isDistanceInMiles language ageVerificationStatus verificationNumber challenges ...AppSettingsOptionsAccountFragment location { device { country __typename } __typename } profiles { ...AuthProfile __typename } __typename } fragment AppSettingsOptionsAccountFragment on Account { appSettings { receiveMarketingNotifications receiveNewsEmailNotifications receivePromotionsEmailNotifications receiveNewsPushNotifications receivePromotionsPushNotifications receiveNewConnectionPushNotifications receiveNewPingPushNotifications receiveNewMessagePushNotifications receiveNewLikePushNotifications __typename } __typename } fragment AuthProfile on Profile { imaginaryName verificationLimits { attemptsAvailable __typename } connectionGoals canVerify photos { pictureUrl pictureStatus ...PictureVerificationMeta ...GetPictureUrlFragment __typename } verificationStatus reflectionResponseIds ...ChatUser ...AnalyticsOwnProfileFragment reflectionResponseIds __typename } fragment PictureVerificationMeta on Picture { id verification { status updatedAt sessionUrl failureReason attempts __typename } enrollment { sessionId status updatedAt failureReason __typename } __typename } fragment GetPictureUrlFragment on Picture { id publicId pictureIsSafe pictureIsPrivate pictureUrl pictureUrls { small medium large __typename } __typename } fragment ChatUser on Profile { id streamToken streamUserId __typename } fragment AnalyticsOwnProfileFragment on Profile { id age ageRange bio desires desiringFor analyticsId distanceMax hasHiddenBio hiddenBio interests isUplift recentlyOnline isIncognito status isMajestic gender dateOfBirth lookingFor sexuality allowPWM enableChatContentModeration location { ...ProfileLocationFragment __typename } profilePairs { identityId __typename } __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } ``` ### Response ```json { "errors": [ { "message": "Another account has been found with the provided firebaseId", "locations": [ { "line": 2, "column": 3 } ], "path": [ "signup" ], "extensions": { "code": "INTERNAL_SERVER_ERROR", "status": 409, "originalError": { "message": "Another account has been found with the provided firebaseId", "error": "ACCOUNT_WITH_FIREBASE_ID_EXISTS", "statusCode": 409 } } } ], "data": null, "extensions": { "requestId": "42ce136b-b2f7-410a-bec4-b695ef2d8e4f" } } ``` --- ## AuthProviderStatusSyncQuery **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json {} ``` ### Query ```graphql query AuthProviderStatusSyncQuery { account { ...AuthProviderStatusSyncFragment __typename } } fragment AuthProviderStatusSyncFragment on Account { id status isFinishedOnboarding isMajestic availablePings upliftExpirationTimestamp isUplift profiles { id profileLinks(linkType: PAIR) { linkId linkType profileId __typename } ...Constellation __typename } __typename } fragment Constellation on Profile { constellation { ...Partner __typename } __typename } fragment Partner on Partner { partnerId partnerLabel partnerProfile { id age imaginaryName dateOfBirth gender sexuality isIncognito photos { ...GetPictureUrlFragment __typename } ...ProfileInteractionStatusFragment status verificationStatus isMajestic __typename } partnerStatus __typename } fragment GetPictureUrlFragment on Picture { id publicId pictureIsSafe pictureIsPrivate pictureUrl pictureUrls { small medium large __typename } __typename } fragment ProfileInteractionStatusFragment on Profile { interactionStatus { message mine theirs __typename } __typename } ``` ### Response ```json { "data": { "account": { "id": "account#bc637253-ed67-4eca-8018-a940bcce0f45", "status": "ACTIVE", "isFinishedOnboarding": true, "isMajestic": false, "availablePings": 0, "upliftExpirationTimestamp": null, "isUplift": false, "profiles": [ { "id": "profile#73b79341-5ff8-411c-806f-5b25cb834471", "profileLinks": [], "constellation": [], "__typename": "Profile" } ], "__typename": "Account" } }, "extensions": { "requestId": "3c7d4f8e-ae0e-4fb4-a46f-4d348bebd65a" } } ``` --- ## AvailableDesires **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "locale": "en-US", "version": 2 } ``` ### Query ```graphql query AvailableDesires($locale: String!, $version: Int) { desiresByCategoryLocalised(locale: $locale, version: $version) { category desires localisedCategory __typename } } ``` ### Response ```json { "data": { "desiresByCategoryLocalised": [ { "category": "LIMITED_EDITION", "desires": { "FREEDOMME": { "localisedString": "Freedomme", "deprecated": true, "free": true, "analyticsCategory": "desires_relations" } }, "localisedCategory": "Limited edition", "__typename": "LocalisedDesireCategory" }, { "category": "KINK_AND_FANTASY", "desires": { "BDSM": { "localisedString": "BDSM", "free": false, "analyticsCategory": "desires_kinks" }, "BRAT": { "localisedString": "Being a brat", "free": false, "analyticsCategory": "desires_kinks", "search": "Brats" }, "BRAT_TAMER": { "localisedString": "Being a brat tamer", "free": false, "analyticsCategory": "desires_kinks", "search": "Brat tamers" }, "SWITCH": { "localisedString": "Being a switch", "free": false, "analyticsCategory": "desires_kinks", "search": "Switches" }, "DOMINANTS": { "localisedString": "Being dominant", "free": false, "analyticsCategory": "desires_kinks", "search": "Dominant people" }, "SUBMISSIVES": { "localisedString": "Being submissive", "free": false, "analyticsCategory": "desires_kinks", "search": "Submissive people" }, "BONDAGE": { "localisedString": "Bondage", "free": false, "analyticsCategory": "desires_kinks" }, "EDGING": { "localisedString": "Edging", "free": false, "analyticsCategory": "desires_kinks" }, "KINK": { "localisedString": "Kink", "free": false, "analyticsCategory": "desires_kinks" }, "ROLE_PLAY": { "localisedString": "Role play", "free": false, "analyticsCategory": "desires_kinks" }, "ROUGH": { "localisedString": "Rough", "free": false, "analyticsCategory": "desires_kinks" }, "TOYS": { "localisedString": "Toys", "free": false, "analyticsCategory": "desires_kinks" }, "VANILLA": { "localisedString": "Vanilla", "free": false, "analyticsCategory": "desires_kinks" }, "WATCHING": { "localisedString": "Watching", "free": false, "analyticsCategory": "desires_kinks" } }, "localisedCategory": "Kink and fantasy", "__typename": "LocalisedDesireCategory" }, { "category": "GROUP_DYNAMICS", "desires": { "FFF": { "localisedString": "FFF", "free": false, "analyticsCategory": "desires_group" }, "FFFF": { "localisedString": "FFFF", "free": false, "analyticsCategory": "desires_group" }, "FFM": { "localisedString": "FFM", "free": false, "analyticsCategory": "desires_group" }, "GROUP": { "localisedString": "Group", "free": false, "analyticsCategory": "desires_group" }, "MFMF": { "localisedString": "MFMF", "free": false, "analyticsCategory": "desires_group" }, "MMF": { "localisedString": "MMF", "free": false, "analyticsCategory": "desires_group" }, "MMM": { "localisedString": "MMM", "free": false, "analyticsCategory": "desires_group" }, "MMMM": { "localisedString": "MMMM", "free": false, "analyticsCategory": "desires_group" }, "PARTIES": { "localisedString": "Parties", "free": false, "analyticsCategory": "desires_group" }, "THREESOME": { "localisedString": "Threeway", "free": false, "analyticsCategory": "desires_group" } }, "localisedCategory": "Group dynamics", "__typename": "LocalisedDesireCategory" }, { "category": "CASUAL_ENCOUNTERS", "desires": { "CASUAL": { "localisedString": "Casual", "free": true, "analyticsCategory": "desires_relations" }, "DATES": { "localisedString": "Dates", "free": true, "analyticsCategory": "desires_relations" }, "EXPLORATION": { "localisedString": "Exploration", "free": false, "analyticsCategory": "desires_kinks" }, "FLIRTING": { "localisedString": "Flirting", "free": false, "analyticsCategory": "desires_kinks" }, "FUN": { "localisedString": "Fun", "free": false, "analyticsCategory": "desires_relations" }, "GGG": { "localisedString": "GGG", "free": false, "analyticsCategory": "desires_kinks" }, "TEXTING": { "localisedString": "Texting", "free": false, "analyticsCategory": "desires_kinks" } }, "localisedCategory": "Casual encounters", "__typename": "LocalisedDesireCategory" }, { "category": "ONE_ON_ONE", "desires": { "FF": { "localisedString": "FF", "free": false, "analyticsCategory": "desires_group" }, "MF": { "localisedString": "MF", "free": false, "analyticsCategory": "desires_group" }, "MM": { "localisedString": "MM", "free": false, "analyticsCategory": "desires_group" }, "MONOGAMY": { "localisedString": "Monogamy", "free": false, "analyticsCategory": "desires_relations" }, "RELATIONSHIP": { "localisedString": "Relationship", "free": false, "analyticsCategory": "desires_relations" }, "SINGLES": { "localisedString": "Singles", "free": false, "analyticsCategory": "desires_group" } }, "localisedCategory": "One-on-one", "__typename": "LocalisedDesireCategory" }, { "category": "OPEN_TO_EXPLORING", "desires": { "COUPLES": { "localisedString": "Couples", "free": false, "analyticsCategory": "desires_group" }, "ENM": { "localisedString": "ENM", "free": false, "analyticsCategory": "desires_relations" }, "OPEN_RELATIONSHIP": { "localisedString": "Open relationship", "free": false, "analyticsCategory": "desires_relations" }, "POLY": { "localisedString": "Poly", "free": false, "analyticsCategory": "desires_relations" } }, "localisedCategory": "Open to exploring", "__typename": "LocalisedDesireCategory" }, { "category": "FRIENDSHIP_FIRST", "desires": { "CELIBATE": { "localisedString": "Celibate", "free": false, "anal ... [truncated] ``` --- ## DeviceLocationUpdate **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "input": { "latitude": 33.027, "longitude": -97.061 } } ``` ### Query ```graphql mutation DeviceLocationUpdate($input: DeviceLocationInput!) { deviceLocationUpdate(input: $input) { id location { device { latitude longitude geocode { city country __typename } __typename } __typename } profiles { id location { ...ProfileLocationFragment __typename } __typename } __typename } } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } ``` ### Response ```json { "data": { "deviceLocationUpdate": { "id": "account#bc637253-ed67-4eca-8018-a940bcce0f45", "location": { "device": { "latitude": 0, "longitude": 0, "geocode": null, "__typename": "Location" }, "__typename": "DeviceLocation" }, "profiles": [ { "id": "profile#73b79341-5ff8-411c-806f-5b25cb834471", "location": { "device": { "latitude": 0, "longitude": 0, "geocode": null, "__typename": "Location" }, "__typename": "DeviceLocation" }, "__typename": "Profile" } ], "__typename": "Account" } }, "extensions": { "requestId": "ab3d99b9-9e73-4bf7-9711-5d0877de40d2" } } ``` --- ## DiscoverProfiles **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "input": { "filters": { "ageRange": [ 22, 59 ], "maxDistance": 100, "lookingFor": [ "WOMAN", "MAN_WOMAN_COUPLE", "WOMAN_WOMAN_COUPLE" ], "recentlyOnline": false, "desiringFor": [] } } } ``` ### Pagination (Load More) To load more profiles, include `alreadyShownProfileIDs` in the filters with an array of profile IDs that have already been displayed: ```json { "input": { "filters": { "ageRange": [22, 59], "maxDistance": 100, "lookingFor": ["WOMAN", "MAN_WOMAN_COUPLE", "WOMAN_WOMAN_COUPLE"], "recentlyOnline": false, "desiringFor": [], "alreadyShownProfileIDs": [ "profile#04706f98-d876-4f86-8815-463680ad15ba", "profile#3e98ff6b-86ce-4f34-93b6-ba0130d2e96c", "profile#8b078b4e-9be3-4105-896a-91999fd85e45" ] } } } ``` The API will exclude these profiles and return new ones. Check `hasNextBatch` in the response to determine if more profiles are available. ### Query ```graphql query DiscoverProfiles($input: ProfileDiscoveryInput!) { discovery(input: $input) { nodes { ...DiscoveryProfileFragment __typename } hasNextBatch feedGeneratedAt generatedWithProfileUpdatedAt feedSize feedCapacity __typename } } fragment DiscoveryProfileFragment on Profile { ...ProfileContentProfileFragment ...DiscoveryAnalyticsMetadata ...Constellation streamUserId analyticsId age distance { km mi __typename } __typename } fragment ProfileContentProfileFragment on Profile { bio hiddenBio hasHiddenBio age streamUserId dateOfBirth distance { km mi __typename } connectionGoals desires gender id status imaginaryName interactionStatus { message mine theirs __typename } interests isMajestic isIncognito lastSeen location { ...ProfileLocationFragment __typename } sexuality photos { ...PhotoCarouselPictureFragment __typename } ...Constellation allowPWM verificationStatus enableChatContentModeration ...AnalyticsProfileFragment ...DiscoveryAnalyticsMetadata isParticipantToEventChat __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } fragment PhotoCarouselPictureFragment on Picture { id pictureIsPrivate pictureIsSafe pictureStatus pictureType pictureUrl pictureUrls { small medium large __typename } publicId verification { status __typename } __typename } fragment Constellation on Profile { constellation { ...Partner __typename } __typename } fragment Partner on Partner { partnerId partnerLabel partnerProfile { id age imaginaryName dateOfBirth gender sexuality isIncognito photos { ...GetPictureUrlFragment __typename } ...ProfileInteractionStatusFragment status verificationStatus isMajestic __typename } partnerStatus __typename } fragment GetPictureUrlFragment on Picture { id publicId pictureIsSafe pictureIsPrivate pictureUrl pictureUrls { small medium large __typename } __typename } fragment ProfileInteractionStatusFragment on Profile { interactionStatus { message mine theirs __typename } __typename } fragment AnalyticsProfileFragment on Profile { id isUplift lastSeen age gender sexuality verificationStatus connectionGoals hasHiddenBio hiddenBio imaginaryName interactionStatus { mine theirs message __typename } distance { km mi __typename } profilePairs { identityId __typename } metadata { source __typename } __typename } fragment DiscoveryAnalyticsMetadata on Profile { metadata { source __typename } __typename } ``` ### Response ```json { "data": { "discovery": { "nodes": [ { "bio": "JUSTTT moved to Texas. I miss home and need some new friends!", "hiddenBio": null, "hasHiddenBio": false, "age": 29, "streamUserId": "5fd34b3fcc5b4700420003dc", "dateOfBirth": null, "distance": { "km": 1, "mi": 1, "__typename": "ProfileDistance" }, "connectionGoals": [], "desires": [ "SUBMISSIVES", "DATES", "KISSING", "CONNECTION", "MM", "BDSM", "PARTIES" ], "gender": "WOMAN", "id": "profile#86eeaab9-fae3-51ea-b32c-dc086f9d3405", "status": "ACTIVE", "imaginaryName": "Noki", "interactionStatus": { "message": null, "mine": "NONE", "theirs": "NONE", "__typename": "InteractionStatusBetweenProfilesOutput" }, "interests": [ "Botany", "Hiking", "Cooking", "Working out", "Fashion", "Traveling", "Reading", "Drinking" ], "isMajestic": false, "isIncognito": false, "lastSeen": null, "location": { "device": { "latitude": 0, "longitude": 0, "geocode": null, "__typename": "Location" }, "__typename": "DeviceLocation" }, "sexuality": "PANSEXUAL", "photos": [ { "id": "picture|profile#86eeaab9-fae3-51ea-b32c-dc086f9d3405-2e161a1d-8637-5ccc-8b0f-24e0aa5e6a65", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "DEFAULT", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/6d100782-3031-40f3-acfa-19b2d1a97548?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/6d100782-3031-40f3-acfa-19b2d1a97548?__cld_token__=exp=1769340621~hmac=7b2bafa70e29dfbc222dd8f0e3902879fe924baf0186bb01fafc30975bfaa4de&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/6d100782-3031-40f3-acfa-19b2d1a97548?__cld_token__=exp=1769340621~hmac=365614e5659d4d44faf86cdd3537eead8254d21041c7d1f4647d88fc2c4370ca&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/6d100782-3031-40f3-acfa-19b2d1a97548?__cld_token__=exp=1769340621~hmac=d29c12734476051f3837aa0660e75df6a06b4dc5fcbed217140224365b57a5b1&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "6d100782-3031-40f3-acfa-19b2d1a97548", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#86eeaab9-fae3-51ea-b32c-dc086f9d3405-3aaf77c3-dc62-5fc8-859b-cbe835ff4ec0", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/f36c5bd9-1122-4212-9f08-a2c1a339a512?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/f36c5bd9-1122-4212-9f08-a2c1a339a512?__cld_token__=exp=1769340621~hmac=6f48e8047c0bebb6cdda2d4bdf8de86e93272844fe6ddaafc9d04bf6f7beac0f&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/f36c5bd9-1122-4212-9f08-a2c1a339a512?__cld_token__=exp=1769340621~hmac=57df4d36ae7f4e2093c5f8cc19d66017570f03c83f626d56b9f50072347ff46f&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/f36c5bd9-1122-4212-9f08-a2c1a339a512?__cld_token__=exp=1769340621~hmac=bb3c67c43cf57f1c0de384387f6a0e2865ac0874a16a80d3982d008581d90c9e&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "f36c5bd9-1122-4212-9f08-a2c1a339a512", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#86eeaab9-fae3-51ea-b32c-dc086f9d3405-1f65eb49-1727-47ab-a460-479f838a118d", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/db0631c1-e8f4-4ab8-95c9-0509e1fcc138?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/db0631c1-e8f4-4ab8-95c9-0509e1fcc138?__cld_token__=exp=1769340621~hmac=58728391105419a82f19380e36de34c9929537ebad9e09309337647b4c1108d9&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/db0631c1-e8f4-4ab8-95c9-0509e1fcc138?__cld_token__=exp=1769340621~hmac=f5fb6e867eb9c882c16240203b1be573346a46151724c2eae3ad627159c21aff&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/db0631c1-e8f4-4ab8-95c9-0509e1fcc138?__cld_token__=exp=1769340621~hmac=90be1f6a9356cc6d4f0222df2a1259151884e9bfb3fa2f5136d6805bb678a799&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "db0631c1-e8f4-4ab8-95c9-0509e1fcc138", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#86eeaab9-fae3-51ea-b32c-dc086f9d3405-bca2dd33-bb93-4555-847a-6741f634cb92", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/f1519921-8451-40e0-b97d-d239d6cd97a4?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/f1519921-8451-40e0-b97d-d239d6cd97a4?__cld_token__=exp=1769340621~hmac=663a99a0a40e4e7557968d9c008b19bf6bbda75aa1641e7871d958544d5605a8&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/f1519921-8451-40e0-b97d-d239d6cd97a4?__cld_token__=exp=1769340621~hmac=bc885874962f0ac8b351175e61350647768b42fa41bb7da7be112a261ad116b3&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/f1519921-8451-40e0-b97d-d239d6cd97a4?__cld_token__=exp=1769340621~hmac=b06b5d0b66303a64c0b46ed262d1c45e5ed9618cacabc76de9766ce896c49b03&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "f1519921-8451-40e0-b97d-d239d6cd97a4", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" ... [truncated] ``` ### Response Fields #### `hasNextBatch` - **Type**: `Boolean` - **Description**: Indicates if more profiles are available for loading. Use with `alreadyShownProfileIDs` to implement pagination. #### `feedSize` - **Type**: `Int` - **Description**: Total number of profiles in the current batch (typically 200). #### `interactionStatus` Each profile includes an `interactionStatus` object showing the interaction state between users: | Field | Type | Description | |-------|------|-------------| | `mine` | `String` | Your interaction with this profile | | `theirs` | `String` | Their interaction with you | | `message` | `String?` | Optional message sent with their interaction | **Possible values for `mine` and `theirs`:** | Value | Description | |-------|-------------| | `NONE` | No interaction yet | | `LIKED` | User has liked the profile | | `DISLIKED` | User has passed/disliked the profile | **Use cases:** - Show "Likes you" badge when `theirs === "LIKED"` - Show "Not interested" indicator when `theirs === "DISLIKED"` **Important API Behavior:** - In the discover feed, `mine` is **always** `"NONE"` for all returned profiles - When you like a profile, it is **removed from the discover feed entirely** - There is no API endpoint to retrieve "profiles you've liked" (no "WhoILiked" query) - This means filtering by `mine === "LIKED"` in the discover response will always return zero results - Filtering by `theirs` (LIKED/DISLIKED) works correctly since other users' interactions with you are preserved **Available Endpoints by Interaction Type:** | Filter | Available Via | |--------|---------------| | Profiles that like you | `WhoLikesMe` or `FilteredWhoLikesMe` queries | | Profiles that passed on you | Visible in discover feed via `theirs === "DISLIKED"` | | Profiles you liked | ❌ Not available (removed from feed after liking) | | Profiles you passed on | ❌ Not available (removed from feed after passing) | --- ## DiscoverSearchSettingsQuery **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "profileId": "profile#73b79341-5ff8-411c-806f-5b25cb834471" } ``` ### Query ```graphql query DiscoverSearchSettingsQuery($profileId: String!) { profile(id: $profileId) { ...DiscoverSearchSettingsFragment __typename } } fragment DiscoverSearchSettingsFragment on Profile { id status ageRange desiringFor desires distanceMax location { ...ProfileLocationFragment __typename } lookingFor recentlyOnline allowPWM imaginaryName __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } ``` ### Response ```json { "data": { "profile": { "id": "profile#73b79341-5ff8-411c-806f-5b25cb834471", "status": "ACTIVE", "ageRange": [ 22, 59 ], "desiringFor": [], "desires": [ "FFF", "FFM", "MMF", "CASUAL", "DATES", "TEXTING", "MF", "RELATIONSHIP", "ENM", "OPEN_RELATIONSHIP" ], "distanceMax": 100, "location": { "device": { "latitude": 0, "longitude": 0, "geocode": null, "__typename": "Location" }, "__typename": "DeviceLocation" }, "lookingFor": [ "WOMAN", "MAN_WOMAN_COUPLE", "WOMAN_WOMAN_COUPLE" ], "recentlyOnline": null, "allowPWM": true, "imaginaryName": "Toni", "__typename": "Profile" } }, "extensions": { "requestId": "1a8113f8-5d11-4e43-ac94-3a111ef2b0b5" } } ``` --- ## FilteredWhoLikesMe **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "input": { "filters": { "ageRange": false }, "sortBy": "LAST_INTERACTION" } } ``` ### Query ```graphql mutation FilteredWhoLikesMe($input: FilteredInteractionInput!, $cursor: String) { filteredWhoLikesMe(input: $input, cursor: $cursor) { filters { ageRange desires lookingFor sexualities __typename } profiles { nodes { ...LikesProfileFragment __typename } pageInfo { total unfilteredTotal hasNextPage nextPageCursor __typename } __typename } __typename } } fragment LikesProfileFragment on Profile { id age gender status lastSeen desires connectionGoals isUplift sexuality isMajestic dateOfBirth streamUserId imaginaryName bio hiddenBio hasHiddenBio allowPWM interests verificationStatus interactionStatus { message mine theirs __typename } profilePairs { identityId __typename } distance { km mi __typename } location { ...ProfileLocationFragment __typename } photos { ...PhotoCarouselPictureFragment __typename } __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } fragment PhotoCarouselPictureFragment on Picture { id pictureIsPrivate pictureIsSafe pictureStatus pictureType pictureUrl pictureUrls { small medium large __typename } publicId verification { status __typename } __typename } ``` ### Response ```json { "data": { "filteredWhoLikesMe": { "filters": { "ageRange": false, "desires": null, "lookingFor": null, "sexualities": null, "__typename": "WhoLikesMeFilters" }, "profiles": { "nodes": [ { "id": "profile#1a15f043-4984-51b6-8dca-303f864d597c", "age": 56, "gender": "AGENDER", "status": "ACTIVE", "lastSeen": null, "desires": [], "connectionGoals": [], "isUplift": false, "sexuality": "ANDROGYNOSEXUAL", "isMajestic": false, "dateOfBirth": null, "streamUserId": null, "imaginaryName": "Jess", "bio": null, "hiddenBio": null, "hasHiddenBio": false, "allowPWM": false, "interests": [], "verificationStatus": "UNVERIFIED", "interactionStatus": { "message": null, "mine": "NONE", "theirs": "NONE", "__typename": "InteractionStatusBetweenProfilesOutput" }, "profilePairs": [], "distance": null, "location": null, "photos": [ { "id": "picture|profile#1a15f043-4984-51b6-8dca-303f864d597cc261a117-63b0-43e0-9409-125d86d262ed", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "DEFAULT", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#1a15f043-4984-51b6-8dca-303f864d597c46e35f8a-a8c9-40f5-8f54-5d64cfe87b33", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#1a15f043-4984-51b6-8dca-303f864d597cb057202d-1cba-4680-b0c1-2c5a87b85fc9", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#1a15f043-4984-51b6-8dca-303f864d597ce9ed5e25-2698-4636-9480-68f37eb1defa", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#1a15f043-4984-51b6-8dca-303f864d597c3c9728b5-9fe8-4629-b42d-6df6722e9ef0", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" } ], "__typename": "Profile" }, { "id": "profile#7d255430-37dd-514e-90e8-9ee1272c0f53", "age": 56, "gender": "AGENDER", "status": "ACTIVE", "lastSeen": null, "desires": [], "connectionGoals": [], "isUplift": false, "sexuality": "ANDROGYNOSEXUAL", "isMajestic": false, "dateOfBirth": null, "streamUserId": null, "imaginaryName": "J", "bio": null, "hiddenBio": null, "hasHiddenBio": false, "allowPWM": false, "interests": [], "verificationStatus": "UNVERIFIED", "interactionStatus": { "message": null, "mine": "NONE", "theirs": "NONE", "__typename": "InteractionStatusBetweenProfilesOutput" }, "profilePairs": [], "distance": null, "location": null, "photos": [ { "id": "picture|profile#7d255430-37dd-514e-90e8-9ee1272c0f53263777d3-155a-4d02-b4e6-8364d5ddab33", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "DEFAULT", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#7d255430-37dd-514e-90e8-9ee1272c0f53ea7feb5a-4311-4f3c-8604-b6e2bb18fad8", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#7d255430-37dd-514e-90e8-9ee1272c0f53f859a93e-f790-4357-a77a-e9fc7d6e4e98", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "p ... [truncated] ``` --- ## FirebaseTokenRefresh **Type**: REST API **Endpoint**: `https://securetoken.googleapis.com/v1/token?key=AIzaSyD9o9mzulN50-hqOwF6ww9pxUNUxwVOCXA` **Method**: `POST` ### Variables ```json { "refreshToken": "AMf-vBxB7p1m84Jw8GNk1CsuEbgMInPt0lzOKXK81e-XiO13PUeA1VfkZ6gu29MN6izbLIWrBqeGaczU3DC5FY-vSePOoGAn3RZnjLWN2DzLmTiOiAH25UxTZPeE3d-g_8-JeBDgQptuP1xy1U0EGxM5msolSLEu8GBRnkxAtEhoIzVtyjCsaD1aBHdWqZiIPStLz-6YQj2j-pDoEVYr3aOBvNxnzv_vL4y91wFkVtMFaC0jOZZE39gbbSj5GH7JcHHiW-NJFcfD0BYKM9zfqs0SxPaYYuqTSQyS3lra1SVxn0XB-ZhcR-I", "grantType": "refresh_token" } ``` ### Response ```json { "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjFjMzIxOTgzNGRhNTBlMjBmYWVhZWE3Yzg2Y2U3YjU1MzhmMTdiZTEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5jb20vZjItcHJvZC01MzQ3NSIsImF1ZCI6ImYyLXByb2QtNTM0NzUiLCJhdXRoX3RpbWUiOjE3NTQ1MDU5NTEsInVzZXJfaWQiOiJkVkRCalVRakF2WHBZMWl0aUF1N2txOTdEUHkyIiwic3ViIjoiZFZEQmpVUWpBdlhwWTFpdGlBdTdrcTk3RFB5MiIsImlhdCI6MTc2OTI1NDIxNiwiZXhwIjoxNzY5MjU3ODE2LCJlbWFpbCI6InJ5NzRwMjV4MnZAcHJpdmF0ZXJlbGF5LmFwcGxlaWQuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiYXBwbGUuY29tIjpbIjAwMTc1MS45NTZkNjJkODA2YjY0ZTgzYjFhNTBmNjBkMDBhNDYyZi4wMTU3Il0sImVtYWlsIjpbInJ5NzRwMjV4MnZAcHJpdmF0ZXJlbGF5LmFwcGxlaWQuY29tIl19LCJzaWduX2luX3Byb3ZpZGVyIjoiYXBwbGUuY29tIn19.UKzTPO_xi7sEws_QVoHfEix2JE4ynVejh6AaRebqP5xsXDl-h_RHuCBJotG3vZyTHfZ2MuJNdlF830jyXBzpw-6NOE8hSmPnV7NtjeYp0E9pc5SB7CXTCfw4UEJ4vqvlD7vZzYF9KGcT6chGnlYpXU-iMZy70HSfGCoN5KtccAdRBTNa8E3PeGHBYbnhZuDB3ix00eh4GfSVj0XIMnnIZcFeUxlapDQMJLq6u4KlVXgXKBGcsnXTvt27cHWlJ597qFHM6iqrRZG3xbZb-nCmgGY8umgx0yZCK6Sq7l_bzcS9V1rBTMtwfEM-p0on0oEKGbchh9JI1wTlUEWh6pqscg", "expires_in": "3600", "token_type": "Bearer", "refresh_token": "AMf-vBxB7p1m84Jw8GNk1CsuEbgMInPt0lzOKXK81e-XiO13PUeA1VfkZ6gu29MN6izbLIWrBqeGaczU3DC5FY-vSePOoGAn3RZnjLWN2DzLmTiOiAH25UxTZPeE3d-g_8-JeBDgQptuP1xy1U0EGxM5msolSLEu8GBRnkxAtEhoIzVtyjCsaD1aBHdWqZiIPStLz-6YQj2j-pDoEVYr3aOBvNxnzv_vL4y91wFkVtMFaC0jOZZE39gbbSj5GH7JcHHiW-NJFcfD0BYKM9zfqs0SxPaYYuqTSQyS3lra1SVxn0XB-ZhcR-I", "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjFjMzIxOTgzNGRhNTBlMjBmYWVhZWE3Yzg2Y2U3YjU1MzhmMTdiZTEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5jb20vZjItcHJvZC01MzQ3NSIsImF1ZCI6ImYyLXByb2QtNTM0NzUiLCJhdXRoX3RpbWUiOjE3NTQ1MDU5NTEsInVzZXJfaWQiOiJkVkRCalVRakF2WHBZMWl0aUF1N2txOTdEUHkyIiwic3ViIjoiZFZEQmpVUWpBdlhwWTFpdGlBdTdrcTk3RFB5MiIsImlhdCI6MTc2OTI1NDIxNiwiZXhwIjoxNzY5MjU3ODE2LCJlbWFpbCI6InJ5NzRwMjV4MnZAcHJpdmF0ZXJlbGF5LmFwcGxlaWQuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiYXBwbGUuY29tIjpbIjAwMTc1MS45NTZkNjJkODA2YjY0ZTgzYjFhNTBmNjBkMDBhNDYyZi4wMTU3Il0sImVtYWlsIjpbInJ5NzRwMjV4MnZAcHJpdmF0ZXJlbGF5LmFwcGxlaWQuY29tIl19LCJzaWduX2luX3Byb3ZpZGVyIjoiYXBwbGUuY29tIn19.UKzTPO_xi7sEws_QVoHfEix2JE4ynVejh6AaRebqP5xsXDl-h_RHuCBJotG3vZyTHfZ2MuJNdlF830jyXBzpw-6NOE8hSmPnV7NtjeYp0E9pc5SB7CXTCfw4UEJ4vqvlD7vZzYF9KGcT6chGnlYpXU-iMZy70HSfGCoN5KtccAdRBTNa8E3PeGHBYbnhZuDB3ix00eh4GfSVj0XIMnnIZcFeUxlapDQMJLq6u4KlVXgXKBGcsnXTvt27cHWlJ597qFHM6iqrRZG3xbZb-nCmgGY8umgx0yZCK6Sq7l_bzcS9V1rBTMtwfEM-p0on0oEKGbchh9JI1wTlUEWh6pqscg", "user_id": "dVDBjUQjAvXpY1itiAu7kq97DPy2", "project_id": "594152761603" } ``` --- ## HeaderSummaries **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "limit": 10 } ``` ### Query ```graphql query HeaderSummaries($limit: Int = 10, $cursor: String) { summaries: getChatSummariesForChatHeader(limit: $limit, cursor: $cursor) { nodes { ...ChatSummary __typename } pageInfo { hasNextPage nextPageCursor __typename } __typename } } fragment ChatSummary on ChatSummary { ...ChatSummaryItem __typename } fragment ChatSummaryItem on ChatSummary { id name type status avatarSet chatAvatarUrl chatDescription openedAt memberCount latestMessage streamChannelId targetProfileId targetProfile { isVerified isMajestic gender age sexuality __typename } enableChatContentModeration participationStatus participationType __typename } ``` ### Response ```json { "data": { "summaries": { "nodes": [ { "id": "chat#6dfc8238-8596-4fc0-a250-98a5b92b0ae8", "name": "Katie", "type": "PRIVATE", "status": "INACTIVE", "avatarSet": [ "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/3cdc82af-f622-4686-bc1d-76dcf3787d41?__cld_token__=exp=1769340619~hmac=27ad6e382764efbe83196a97eb58543dc21f0ee091ce514f5dfb5a122c640703&_a=BAMAK+TI0" ], "chatAvatarUrl": null, "chatDescription": null, "openedAt": null, "memberCount": 2, "latestMessage": null, "streamChannelId": "7a07096e-a5c6-4dbf-b713-b67518e1b31b", "targetProfileId": "profile#3bdbf6eb-2d05-595e-b3d5-0949453c6d06", "targetProfile": { "isVerified": false, "isMajestic": false, "gender": "WOMAN", "age": 27, "sexuality": "PANSEXUAL", "__typename": "TargetProfileData" }, "enableChatContentModeration": false, "participationStatus": "APPROVED", "participationType": "OWNER", "__typename": "ChatSummary" } ], "pageInfo": { "hasNextPage": false, "nextPageCursor": null, "__typename": "PageInfo" }, "__typename": "PaginatedChatSummaries" } }, "extensions": { "requestId": "f46bf714-5428-4b39-ac9b-106ae890bfbc" } } ``` --- ## IsIncognitoQuery **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "profileId": "profile#73b79341-5ff8-411c-806f-5b25cb834471" } ``` ### Query ```graphql query IsIncognitoQuery($profileId: String!) { profile(id: $profileId) { id isIncognito __typename } } ``` ### Response ```json { "data": { "profile": { "id": "profile#73b79341-5ff8-411c-806f-5b25cb834471", "isIncognito": false, "__typename": "Profile" } }, "extensions": { "requestId": "58c3e180-6b81-4ffd-80f3-e3ccc2ad2504" } } ``` --- ## LastSeenProviderUpdateProfile **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "profileId": "profile#73b79341-5ff8-411c-806f-5b25cb834471" } ``` ### Query ```graphql mutation LastSeenProviderUpdateProfile($profileId: String!) { updatedProfileLastSeen: profileUpdateLastSeen(profileId: $profileId) } ``` ### Response ```json { "data": { "updatedProfileLastSeen": true }, "extensions": { "requestId": "e867d163-bbb2-4e70-ae91-585cd59c2e2a" } } ``` --- ## ListSummaries **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "limit": 10 } ``` ### Query ```graphql query ListSummaries($limit: Int = 10, $cursor: String) { summaries: getChatSummariesForChatList(limit: $limit, cursor: $cursor) { nodes { ...ChatSummary __typename } pageInfo { hasNextPage nextPageCursor __typename } __typename } } fragment ChatSummary on ChatSummary { ...ChatSummaryItem __typename } fragment ChatSummaryItem on ChatSummary { id name type status avatarSet chatAvatarUrl chatDescription openedAt memberCount latestMessage streamChannelId targetProfileId targetProfile { isVerified isMajestic gender age sexuality __typename } enableChatContentModeration participationStatus participationType __typename } ``` ### Response ```json { "data": { "summaries": { "nodes": [ { "id": "chat#090b2bcb-7e5f-46a6-9506-404a084fcb3c", "name": "FunCouple", "type": "PRIVATE", "status": "ACTIVE", "avatarSet": [ "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/646a6c22-5b1e-4d38-b7ee-22af5610b111?__cld_token__=exp=1769340617~hmac=34e6e9406696b3b065247b215ac9118255579f6297d3406ba39aaa4a397e8af4&_a=BAMAK+TI0" ], "chatAvatarUrl": null, "chatDescription": null, "openedAt": null, "memberCount": 2, "latestMessage": { "id": "0727f6d4-3531-42ee-befe-f000a98807cd", "text": "Hi. So sorry. It\u2019s been a bit crazy on the work and home front for both of us the past several weeks. Let\u2019s plan something after Thanksgiving. Family in town this coming week", "html": "

Hi. So sorry. It\u2019s been a bit crazy on the work and home front for both of us the past several weeks. Let\u2019s plan something after Thanksgiving. Family in town this coming week

\n", "type": "regular", "user": { "id": "633b20c44181730001005aee", "name": "FunCouple", "image": "https://res.cloudinary.com/threender/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/646a6c22-5b1e-4d38-b7ee-22af5610b111?__cld_token__=exp=1765611856~hmac=5afcc1e86834b5418abd8551fb1a4e1e05373856f7cde851c99aa34551e24b87&_a=BAMAAAeA0", "language": "", "role": "user", "teams": [], "created_at": "2022-10-03T18:05:11.88176Z", "updated_at": "2025-12-12T06:14:21.19437Z", "banned": false, "online": false, "last_active": "2026-01-24T04:47:42.919914Z", "blocked_user_ids": [], "shadow_banned": false, "invisible": false, "profileStatus": "active", "profileIsIncognito": true }, "member": { "channel_role": "channel_member" }, "attachments": [], "latest_reactions": [], "own_reactions": [], "reaction_counts": {}, "reaction_scores": {}, "reply_count": 0, "deleted_reply_count": 0, "cid": "messaging:461b5f51-e3cb-4942-ac5c-43b213586c0b", "created_at": "2025-11-20T14:42:24.409Z", "updated_at": "2025-11-20T14:42:24.409Z", "shadowed": false, "mentioned_users": [], "silent": false, "pinned": false, "pinned_at": null, "pinned_by": null, "pin_expires": null, "restricted_visibility": [], "custom_properties": { "status": "regular", "type": "text" }, "__html": "

Hi. So sorry. It\u2019s been a bit crazy on the work and home front for both of us the past several weeks. Let\u2019s plan something after Thanksgiving. Family in town this coming week

\n", "status": "received" }, "streamChannelId": "461b5f51-e3cb-4942-ac5c-43b213586c0b", "targetProfileId": "profile#6e25bfee-4a2b-58ac-8eb4-d5e9ed37a195", "targetProfile": { "isVerified": false, "isMajestic": true, "gender": "WOMAN", "age": 46, "sexuality": "BISEXUAL", "__typename": "TargetProfileData" }, "enableChatContentModeration": false, "participationStatus": "APPROVED", "participationType": "OWNER", "__typename": "ChatSummary" }, { "id": "chat#ba82c33c-3634-403f-b7dd-af8f5133a5b9", "name": "L", "type": "PRIVATE", "status": "ACTIVE", "avatarSet": [ "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/9407d5d7-bf41-49af-9aa6-a4782958fc24?__cld_token__=exp=1769340617~hmac=1df02d3539f309a5526760578843f4a8c2d15c5d0a9faff46fd4d1caf024cc3b&_a=BAMAK+TI0" ], "chatAvatarUrl": null, "chatDescription": null, "openedAt": null, "memberCount": 2, "latestMessage": { "id": "95109140-b984-4a2e-89d9-7ce44e566652", "text": "Bro \u2026. That description god damn \ud83e\udd23\ud83e\udd23\ud83d\ude2e\u200d\ud83d\udca8\ud83d\ude2e\u200d\ud83d\udca8\ud83d\ude2e\u200d\ud83d\udca8", "html": "

Bro \u2026. That description god damn \ud83e\udd23\ud83e\udd23\ud83d\ude2e\u200d\ud83d\udca8\ud83d\ude2e\u200d\ud83d\udca8\ud83d\ude2e\u200d\ud83d\udca8

\n", "type": "regular", "user": { "id": "1d7c503e-fe25-42e7-a87b-475abfecdab7", "name": "Toni", "image": "https://res.cloudinary.com/threender/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da?__cld_token__=exp=1765611729~hmac=f6a01635999d88e92498043902fefad187da08326a17d78cb591b0e05a781259&_a=BAMAAAeA0", "language": "", "role": "user", "teams": [], "created_at": "2025-08-06T18:48:26.903821Z", "updated_at": "2025-12-12T06:12:14.795639Z", "banned": false, "online": true, "last_active": "2026-01-24T11:30:16.14179348Z", "blocked_user_ids": [], "shadow_banned": false, "invisible": false, "profileIsIncognito": false, "profileStatus": "active" }, "member": { "channel_role": "channel_member" }, "attachments": [], "latest_reactions": [], "own_reactions": [], "reaction_counts": {}, "reaction_scores": {}, "reply_count": 0, "deleted_reply_count": 0, "cid": "messaging:4a4b09b5-86b1-41a3-a1b2-f209f8cbad65", "created_at": "2025-11-08T21:44:00.490Z", "updated_at": "2025-11-08T21:44:00.490Z", "shadowed": false, "mentioned_users": [], "silent": false, "pinned": false, "pinned_at": null, "pinned_by": null, "pin_expires": null, "restricted_visibility": [], "custom_properties": { "type": "text", "status": "regular" }, "__html": "

Bro \u2026. That description god damn \ud83e\udd23\ud83e\udd23\ud83d\ude2e\u200d\ud83d\udca8\ud83d\ude2e\u200d\ud83d\udca8\ud83d\ude2e\u200d\ud83d\udca8

\n", "status": "received" }, "streamChannelId": "4a4b09b5-86b1-41a3-a1b2-f209f8cbad65", "targetProfileId": "profile#8957da76-4aa4-49c2-9b0d-fabedb51d792", "targetProfile": { "isVerified": false, "isMajestic": true, "gender": "WOMAN", "age": 30, "sexuality": "STRAIGHT", "__typename": "TargetProfileData" }, "enableChatContentModeration": false, "participationStatus": "APPROVED", "participationType": "OWNER", "__typename": "ChatSummary" }, { "id": "chat#06bda534-d33c-49d3-bd3e-f971f17a1037", "name": "SharedXGoddess", "type": "PRIVATE", "status": "DISCONNECTED", "avatarSet": [ "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/5f122019-7fb2-4329-a4fc-e5812e59b4f8?__cld_token__=exp=1769340617~hmac=4bcd8289b4c82beacdd4e0fe6c589b0ba095e64882df9870cde773796d253f80&_a=BAMAK+TI0" ], "chatAvatarUrl": null, "chatDescription": null, "opened ... [truncated] ``` --- ## PhotoSelectorQuery **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "profileId": "profile#73b79341-5ff8-411c-806f-5b25cb834471" } ``` ### Query ```graphql query PhotoSelectorQuery($profileId: String!) { profile(id: $profileId) { id photos { ...PhotoSelectorFragment __typename } __typename } } fragment PhotoSelectorFragment on Picture { id pictureIsPrivate pictureIsSafe pictureOrder pictureStatus pictureType pictureUrl pictureUrls { small medium large __typename } publicId verification { status failureReason attempts __typename } enrollment { status failureReason __typename } __typename } ``` ### Response ```json { "data": { "profile": { "id": "profile#73b79341-5ff8-411c-806f-5b25cb834471", "photos": [ { "id": "picture|profile#73b79341-5ff8-411c-806f-5b25cb834471-e0923a2a-ad1a-4b22-9a97-4303e44b01f9", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureOrder": 1, "pictureStatus": "READY", "pictureType": "DEFAULT", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da?__cld_token__=exp=1769340611~hmac=a9ca9596a54a5007af79b533e600fc61f2b4e1c619668cfbe7753861cee7a596&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da?__cld_token__=exp=1769340611~hmac=a98a1bc492e24cf231f937552ee0f4122ca3328c1a80fd129237043b25c38295&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da?__cld_token__=exp=1769340611~hmac=b954384e66532cb02503b573aa8d8e4d6ab4bb29aa2395e1a61bb71d786c8fc0&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da", "verification": null, "enrollment": null, "__typename": "Picture" }, { "id": "picture|profile#73b79341-5ff8-411c-806f-5b25cb834471-e9b10448-165a-4e1c-8133-7bde9591b961", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureOrder": 2, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/a35f0a6c-dda8-4011-99ec-71679df7dffd?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/a35f0a6c-dda8-4011-99ec-71679df7dffd?__cld_token__=exp=1769340611~hmac=dbd2a28b79d924aadbb0030192b21d2c56e1809be0a3589eab3f73f44220004f&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/a35f0a6c-dda8-4011-99ec-71679df7dffd?__cld_token__=exp=1769340611~hmac=90d1bd3653b70b413934815728ca5b1ac325817db89420b11e9296ae2b567d93&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/a35f0a6c-dda8-4011-99ec-71679df7dffd?__cld_token__=exp=1769340611~hmac=94a6c3779bf010d254523feca2967a7cc356c4263af759c477b18d4e48fe8169&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "a35f0a6c-dda8-4011-99ec-71679df7dffd", "verification": null, "enrollment": null, "__typename": "Picture" }, { "id": "picture|profile#73b79341-5ff8-411c-806f-5b25cb834471-5b7bca15-d924-47b4-a244-3d2cf19e0956", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureOrder": 3, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/9c3b2edd-b696-4c29-a4e1-59cc6ca33b1a?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/9c3b2edd-b696-4c29-a4e1-59cc6ca33b1a?__cld_token__=exp=1769340611~hmac=319ddb60dc3c19a458e11d7cc822cdac941e2291f34665752aa70ff875bf1386&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/9c3b2edd-b696-4c29-a4e1-59cc6ca33b1a?__cld_token__=exp=1769340611~hmac=d06bb10b53ffa9384a6f9981f9987de56809c86dab86a04c359160f2174cd605&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/9c3b2edd-b696-4c29-a4e1-59cc6ca33b1a?__cld_token__=exp=1769340611~hmac=d1b459ebb2fcff73bd368023c4e5671c8fcd781a18e393f5c3255bf1690f8f33&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "9c3b2edd-b696-4c29-a4e1-59cc6ca33b1a", "verification": null, "enrollment": null, "__typename": "Picture" }, { "id": "picture|profile#73b79341-5ff8-411c-806f-5b25cb834471-f8f823ee-dc86-4b21-9ac5-34fec4934e28", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureOrder": 4, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/4b2110a8-2114-4bbb-9927-ddca81a0d998?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/4b2110a8-2114-4bbb-9927-ddca81a0d998?__cld_token__=exp=1769340611~hmac=b22cd0d53ef1d594e8fa8d05233349063814b52a6cf1336f0538083bbbc3be06&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/4b2110a8-2114-4bbb-9927-ddca81a0d998?__cld_token__=exp=1769340611~hmac=4b5bca9116140b16e6f694e2435dcdc5e8b0146e9e66e1cbdfc24905949e192f&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/4b2110a8-2114-4bbb-9927-ddca81a0d998?__cld_token__=exp=1769340611~hmac=f8b0d654c2edd0590968cff81ee7334925b622be13de3d80175bead9428749ba&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "4b2110a8-2114-4bbb-9927-ddca81a0d998", "verification": null, "enrollment": null, "__typename": "Picture" } ], "__typename": "Profile" } }, "extensions": { "requestId": "888664f8-3c61-431f-b765-279df6f3e939" } } ``` --- ## ProfileQuery **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "profileId": "profile#73b79341-5ff8-411c-806f-5b25cb834471" } ``` ### Query ```graphql query ProfileQuery($profileId: String!) { profile(id: $profileId) { ...ProfileContentProfileFragment streamUserId __typename } } fragment ProfileContentProfileFragment on Profile { bio hiddenBio hasHiddenBio age streamUserId dateOfBirth distance { km mi __typename } connectionGoals desires gender id status imaginaryName interactionStatus { message mine theirs __typename } interests isMajestic isIncognito lastSeen location { ...ProfileLocationFragment __typename } sexuality photos { ...PhotoCarouselPictureFragment __typename } ...Constellation allowPWM verificationStatus enableChatContentModeration ...AnalyticsProfileFragment ...DiscoveryAnalyticsMetadata isParticipantToEventChat __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } fragment PhotoCarouselPictureFragment on Picture { id pictureIsPrivate pictureIsSafe pictureStatus pictureType pictureUrl pictureUrls { small medium large __typename } publicId verification { status __typename } __typename } fragment Constellation on Profile { constellation { ...Partner __typename } __typename } fragment Partner on Partner { partnerId partnerLabel partnerProfile { id age imaginaryName dateOfBirth gender sexuality isIncognito photos { ...GetPictureUrlFragment __typename } ...ProfileInteractionStatusFragment status verificationStatus isMajestic __typename } partnerStatus __typename } fragment GetPictureUrlFragment on Picture { id publicId pictureIsSafe pictureIsPrivate pictureUrl pictureUrls { small medium large __typename } __typename } fragment ProfileInteractionStatusFragment on Profile { interactionStatus { message mine theirs __typename } __typename } fragment AnalyticsProfileFragment on Profile { id isUplift lastSeen age gender sexuality verificationStatus connectionGoals hasHiddenBio hiddenBio imaginaryName interactionStatus { mine theirs message __typename } distance { km mi __typename } profilePairs { identityId __typename } metadata { source __typename } __typename } fragment DiscoveryAnalyticsMetadata on Profile { metadata { source __typename } __typename } ``` ### Response ```json { "data": { "profile": { "bio": "ENM\nI don\u2019t take myself too seriously\nEducated and drama free\nCoffee is a great first date, right? \nLooking to meet interesting, like-minded individuals ", "hiddenBio": null, "hasHiddenBio": false, "age": 41, "streamUserId": "1d7c503e-fe25-42e7-a87b-475abfecdab7", "dateOfBirth": "1984-07-11T00:00:00.000Z", "distance": null, "connectionGoals": [ "DATING", "LONG_TERM_CONNECTIONS", "NON_MONOGAMY" ], "desires": [ "FFF", "FFM", "MMF", "CASUAL", "DATES", "TEXTING", "MF", "RELATIONSHIP", "ENM", "OPEN_RELATIONSHIP" ], "gender": "MAN", "id": "profile#73b79341-5ff8-411c-806f-5b25cb834471", "status": "ACTIVE", "imaginaryName": "Toni", "interactionStatus": { "message": null, "mine": "OWNED", "theirs": "OWNED", "__typename": "InteractionStatusBetweenProfilesOutput" }, "interests": [ "Sports", "Reading", "Conversation", "Traveling", "Coffee", "Working out" ], "isMajestic": false, "isIncognito": false, "lastSeen": null, "location": { "device": { "latitude": 0, "longitude": 0, "geocode": null, "__typename": "Location" }, "__typename": "DeviceLocation" }, "sexuality": "STRAIGHT", "photos": [ { "id": "picture|profile#73b79341-5ff8-411c-806f-5b25cb834471-e0923a2a-ad1a-4b22-9a97-4303e44b01f9", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "DEFAULT", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da?__cld_token__=exp=1769340611~hmac=a9ca9596a54a5007af79b533e600fc61f2b4e1c619668cfbe7753861cee7a596&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da?__cld_token__=exp=1769340611~hmac=a98a1bc492e24cf231f937552ee0f4122ca3328c1a80fd129237043b25c38295&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da?__cld_token__=exp=1769340611~hmac=b954384e66532cb02503b573aa8d8e4d6ab4bb29aa2395e1a61bb71d786c8fc0&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "c2a1cf3f-6611-4d9e-a94e-19d68ba1b5da", "verification": null, "__typename": "Picture" }, { "id": "picture|profile#73b79341-5ff8-411c-806f-5b25cb834471-e9b10448-165a-4e1c-8133-7bde9591b961", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/a35f0a6c-dda8-4011-99ec-71679df7dffd?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/a35f0a6c-dda8-4011-99ec-71679df7dffd?__cld_token__=exp=1769340611~hmac=dbd2a28b79d924aadbb0030192b21d2c56e1809be0a3589eab3f73f44220004f&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/a35f0a6c-dda8-4011-99ec-71679df7dffd?__cld_token__=exp=1769340611~hmac=90d1bd3653b70b413934815728ca5b1ac325817db89420b11e9296ae2b567d93&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/a35f0a6c-dda8-4011-99ec-71679df7dffd?__cld_token__=exp=1769340611~hmac=94a6c3779bf010d254523feca2967a7cc356c4263af759c477b18d4e48fe8169&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "a35f0a6c-dda8-4011-99ec-71679df7dffd", "verification": null, "__typename": "Picture" }, { "id": "picture|profile#73b79341-5ff8-411c-806f-5b25cb834471-5b7bca15-d924-47b4-a244-3d2cf19e0956", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/9c3b2edd-b696-4c29-a4e1-59cc6ca33b1a?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/9c3b2edd-b696-4c29-a4e1-59cc6ca33b1a?__cld_token__=exp=1769340611~hmac=319ddb60dc3c19a458e11d7cc822cdac941e2291f34665752aa70ff875bf1386&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/9c3b2edd-b696-4c29-a4e1-59cc6ca33b1a?__cld_token__=exp=1769340611~hmac=d06bb10b53ffa9384a6f9981f9987de56809c86dab86a04c359160f2174cd605&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/9c3b2edd-b696-4c29-a4e1-59cc6ca33b1a?__cld_token__=exp=1769340611~hmac=d1b459ebb2fcff73bd368023c4e5671c8fcd781a18e393f5c3255bf1690f8f33&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "9c3b2edd-b696-4c29-a4e1-59cc6ca33b1a", "verification": null, "__typename": "Picture" }, { "id": "picture|profile#73b79341-5ff8-411c-806f-5b25cb834471-f8f823ee-dc86-4b21-9ac5-34fec4934e28", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "https://res.cloudinary.com/threender/image/upload/4b2110a8-2114-4bbb-9927-ddca81a0d998?_a=BAMAK+TI0", "pictureUrls": { "small": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_192,h_192,c_lfill,g_auto:faces/4b2110a8-2114-4bbb-9927-ddca81a0d998?__cld_token__=exp=1769340611~hmac=b22cd0d53ef1d594e8fa8d05233349063814b52a6cf1336f0538083bbbc3be06&_a=BAMAK+TI0", "medium": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_480,h_480,c_lfill,g_auto:faces/4b2110a8-2114-4bbb-9927-ddca81a0d998?__cld_token__=exp=1769340611~hmac=4b5bca9116140b16e6f694e2435dcdc5e8b0146e9e66e1cbdfc24905949e192f&_a=BAMAK+TI0", "large": "https://res.cloudinary.com/threender/image/upload/q_auto:eco,f_webp,w_960,h_960,c_lfill,g_auto:faces/4b2110a8-2114-4bbb-9927-ddca81a0d998?__cld_token__=exp=1769340611~hmac=f8b0d654c2edd0590968cff81ee7334925b622be13de3d80175bead9428749ba&_a=BAMAK+TI0", "__typename": "PictureUrls" }, "publicId": "4b2110a8-2114-4bbb-9927-ddca81a0d998", "verification": null, "__typename": "Picture" } ], "constellation": [], "__typename": "Profile", "allowPWM": true, "verificationStatus": null, "enableChatContentModeration": false, "isUplift": false, "profilePairs": [], "metadata": null, "isParticipantToEventChat": false } }, "extensions": { "requestId": "21141eda-79c6-4888-86da-fa61f4bf3f48" } } ``` --- ## SearchSettingsUpdate **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "recentlyOnline": null } ``` ### Query ```graphql mutation SearchSettingsUpdate($ageRange: [Int], $distanceMax: Float, $desiringFor: [Desire!], $lookingFor: [LookingFor!], $recentlyOnline: Boolean) { profileUpdate( input: {ageRange: $ageRange, distanceMax: $distanceMax, desiringFor: $desiringFor, lookingFor: $lookingFor, recentlyOnline: $recentlyOnline} ) { ...SearchSettingsProfileFragment __typename } } fragment SearchSettingsProfileFragment on Profile { id ageRange distanceMax desiringFor lookingFor location { ...ProfileLocationFragment __typename } recentlyOnline __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } ``` ### Response ```json { "data": { "profileUpdate": { "id": "profile#73b79341-5ff8-411c-806f-5b25cb834471", "ageRange": [ 22, 59 ], "distanceMax": 100, "desiringFor": [], "lookingFor": [ "WOMAN", "MAN_WOMAN_COUPLE", "WOMAN_WOMAN_COUPLE" ], "location": { "device": { "latitude": 0, "longitude": 0, "geocode": null, "__typename": "Location" }, "__typename": "DeviceLocation" }, "recentlyOnline": null, "__typename": "Profile" } }, "extensions": { "requestId": "bb3fcaa7-5443-4785-843e-f5215649f61c" } } ``` --- ## UpliftPurchaseQuery **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "profileId": "profile#73b79341-5ff8-411c-806f-5b25cb834471" } ``` ### Query ```graphql query UpliftPurchaseQuery($profileId: String!) { profile(id: $profileId) { id status __typename } } ``` ### Response ```json { "data": { "profile": { "id": "profile#73b79341-5ff8-411c-806f-5b25cb834471", "status": "ACTIVE", "__typename": "Profile" } }, "extensions": { "requestId": "79c6d62a-ca92-4399-b8b8-2fbebb34f98e" } } ``` --- ## WhoLikesMe **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "sortBy": "LAST_INTERACTION" } ``` ### Query ```graphql query WhoLikesMe($limit: Int, $cursor: String, $sortBy: SortBy!) { interactions: whoLikesMe( input: {sortBy: $sortBy} limit: $limit cursor: $cursor ) { nodes { ...LikesProfileFragment __typename } pageInfo { total hasNextPage nextPageCursor __typename } __typename } } fragment LikesProfileFragment on Profile { id age gender status lastSeen desires connectionGoals isUplift sexuality isMajestic dateOfBirth streamUserId imaginaryName bio hiddenBio hasHiddenBio allowPWM interests verificationStatus interactionStatus { message mine theirs __typename } profilePairs { identityId __typename } distance { km mi __typename } location { ...ProfileLocationFragment __typename } photos { ...PhotoCarouselPictureFragment __typename } __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } fragment PhotoCarouselPictureFragment on Picture { id pictureIsPrivate pictureIsSafe pictureStatus pictureType pictureUrl pictureUrls { small medium large __typename } publicId verification { status __typename } __typename } ``` ### Response ```json { "data": { "interactions": { "nodes": [ { "id": "profile#1a15f043-4984-51b6-8dca-303f864d597c", "age": 56, "gender": "AGENDER", "status": "ACTIVE", "lastSeen": null, "desires": [], "connectionGoals": [], "isUplift": false, "sexuality": "ANDROGYNOSEXUAL", "isMajestic": false, "dateOfBirth": null, "streamUserId": null, "imaginaryName": "Jess", "bio": null, "hiddenBio": null, "hasHiddenBio": false, "allowPWM": false, "interests": [], "verificationStatus": "UNVERIFIED", "interactionStatus": { "message": null, "mine": "NONE", "theirs": "NONE", "__typename": "InteractionStatusBetweenProfilesOutput" }, "profilePairs": [], "distance": null, "location": null, "photos": [ { "id": "picture|profile#1a15f043-4984-51b6-8dca-303f864d597c3232cbc5-5b2e-45b1-8a39-4a40308a45e0", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "DEFAULT", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#1a15f043-4984-51b6-8dca-303f864d597c35184885-c94e-4189-a857-21ff56439a5f", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#1a15f043-4984-51b6-8dca-303f864d597c78670543-85df-4014-acc5-c910d867ce17", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#1a15f043-4984-51b6-8dca-303f864d597c502b7c3b-1f2b-4f41-900b-a8b630177541", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#1a15f043-4984-51b6-8dca-303f864d597c45760ffc-5866-4a8e-a9a8-4b9030f3d310", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" } ], "__typename": "Profile" }, { "id": "profile#7d255430-37dd-514e-90e8-9ee1272c0f53", "age": 56, "gender": "AGENDER", "status": "ACTIVE", "lastSeen": null, "desires": [], "connectionGoals": [], "isUplift": false, "sexuality": "ANDROGYNOSEXUAL", "isMajestic": false, "dateOfBirth": null, "streamUserId": null, "imaginaryName": "J", "bio": null, "hiddenBio": null, "hasHiddenBio": false, "allowPWM": false, "interests": [], "verificationStatus": "UNVERIFIED", "interactionStatus": { "message": null, "mine": "NONE", "theirs": "NONE", "__typename": "InteractionStatusBetweenProfilesOutput" }, "profilePairs": [], "distance": null, "location": null, "photos": [ { "id": "picture|profile#7d255430-37dd-514e-90e8-9ee1272c0f538dfd3e1b-c2b0-4af7-9672-874a4a271b2c", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "DEFAULT", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#7d255430-37dd-514e-90e8-9ee1272c0f534be38a51-c0e3-4526-834f-0bf2ad4a4091", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#7d255430-37dd-514e-90e8-9ee1272c0f5310fc8190-33c2-4896-a185-017be2cff8f8", "pictureIsPrivate": false, "pictureIsSafe": true, "pictureStatus": "READY", "pictureType": "SECONDARY", "pictureUrl": "HIDDEN", "pictureUrls": { "small": "", "medium": "", "large": "", "__typename": "PictureUrls" }, "publicId": "HIDDEN", "verification": { "status": "UNVERIFIED", "__typename": "PictureVerification" }, "__typename": "Picture" }, { "id": "picture|profile#7d255430-37dd-514e-90e8-9ee1272c0f538a81675b-e23c-4d43-b5e4-73eb96436fb3", "pictureIsP ... [truncated] ``` --- ## WhoPingsMe **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json { "sortBy": "LAST_INTERACTION" } ``` ### Query ```graphql query WhoPingsMe($limit: Int, $cursor: String, $sortBy: SortBy!) { interactions: whoPingsMe( input: {sortBy: $sortBy} limit: $limit cursor: $cursor ) { nodes { ...LikesProfileFragment __typename } pageInfo { total hasNextPage nextPageCursor __typename } __typename } } fragment LikesProfileFragment on Profile { id age gender status lastSeen desires connectionGoals isUplift sexuality isMajestic dateOfBirth streamUserId imaginaryName bio hiddenBio hasHiddenBio allowPWM interests verificationStatus interactionStatus { message mine theirs __typename } profilePairs { identityId __typename } distance { km mi __typename } location { ...ProfileLocationFragment __typename } photos { ...PhotoCarouselPictureFragment __typename } __typename } fragment ProfileLocationFragment on ProfileLocation { ... on DeviceLocation { device { latitude longitude geocode { city country __typename } __typename } __typename } ... on VirtualLocation { core __typename } ... on TeleportLocation { current: device { city country __typename } teleport { latitude longitude geocode { city country __typename } __typename } __typename } __typename } fragment PhotoCarouselPictureFragment on Picture { id pictureIsPrivate pictureIsSafe pictureStatus pictureType pictureUrl pictureUrls { small medium large __typename } publicId verification { status __typename } __typename } ``` ### Response ```json { "data": { "interactions": { "nodes": [], "pageInfo": { "total": 0, "hasNextPage": false, "nextPageCursor": null, "__typename": "PageInfo" }, "__typename": "PaginatedProfiles" } }, "extensions": { "requestId": "21f8e2f7-8044-4d44-b7b1-a79c24254cb3" } } ``` --- ## hasLinkedReflection **Type**: GraphQL **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` ### Variables ```json {} ``` ### Query ```graphql query hasLinkedReflection { hasLinkedReflection } ``` ### Response ```json { "data": { "hasLinkedReflection": false }, "extensions": { "requestId": "d8086e07-2c5b-40d5-a165-de00c0b0f218" } } ``` --- ## ProfileLike **Type**: GraphQL Mutation **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` **Description**: Like another user's profile. Returns status and chat object if mutual match. ### Variables ```json { "targetProfileId": "profile#86eeaab9-fae3-51ea-b32c-dc086f9d3405" } ``` ### Query ```graphql mutation ProfileLike($targetProfileId: String!) { profileLike(input: {targetProfileId: $targetProfileId}) { status chat { ...ChatListItemChatFragment __typename } __typename } } fragment ChatListItemChatFragment on Chat { ...ChatFragment __typename } fragment ChatFragment on Chat { id name type streamChatId status members { ...ChatMemberFragment __typename } disconnectedMembers { ...ChatMemberFragment __typename } __typename } fragment ChatMemberFragment on Profile { id status analyticsId imaginaryName streamUserId age dateOfBirth sexuality isIncognito ...ProfileInteractionStatusFragment gender photos { ...GetPictureUrlFragment pictureType __typename } ...AnalyticsProfileFragment __typename } fragment ProfileInteractionStatusFragment on Profile { interactionStatus { message mine theirs __typename } __typename } fragment GetPictureUrlFragment on Picture { id publicId pictureIsSafe pictureIsPrivate pictureUrl pictureUrls { small medium large __typename } __typename } fragment AnalyticsProfileFragment on Profile { id isUplift lastSeen age gender sexuality verificationStatus connectionGoals hasHiddenBio hiddenBio imaginaryName interactionStatus { mine theirs message __typename } distance { km mi __typename } profilePairs { identityId __typename } metadata { source __typename } __typename } ``` ### Response ```json { "data": { "profileLike": { "status": "SENT", "chat": null, "__typename": "ProfileLikeInteractionOutput" } }, "extensions": { "requestId": "ee7b55ce-fe2d-48e4-991a-b03e04aa329c" } } ``` **Response Status Values**: - `SENT` - Like was sent successfully (no mutual match yet) - `MATCHED` - Mutual like, chat object will be populated --- ## GetChatSummary **Type**: GraphQL Query **Endpoint**: `https://core.api.fldcore.com/graphql` **Method**: `POST` **Description**: Get detailed information about a specific chat conversation including latest message and participant details. ### Variables ```json { "streamChatId": "461b5f51-e3cb-4942-ac5c-43b213586c0b" } ``` ### Query ```graphql query GetChatSummary($streamChatId: String!) { summary: getChatSummary(streamChatId: $streamChatId) { ...ChatSummary __typename } } fragment ChatSummary on ChatSummary { ...ChatSummaryItem __typename } fragment ChatSummaryItem on ChatSummary { id name type status avatarSet chatAvatarUrl chatDescription openedAt memberCount latestMessage streamChannelId targetProfileId targetProfile { isVerified isMajestic gender age sexuality __typename } enableChatContentModeration participationStatus participationType __typename } ``` ### Response ```json { "data": { "summary": { "id": "chat#090b2bcb-7e5f-46a6-9506-404a084fcb3c", "name": "FunCouple", "type": "PRIVATE", "status": "ACTIVE", "avatarSet": [ "https://res.cloudinary.com/threender/image/upload/..." ], "chatAvatarUrl": null, "chatDescription": null, "openedAt": null, "memberCount": 2, "latestMessage": { "id": "0727f6d4-3531-42ee-befe-f000a98807cd", "text": "Hi. So sorry. It's been a bit crazy...", "html": "

Hi. So sorry...

\n", "type": "regular", "user": { "id": "633b20c44181730001005aee", "name": "FunCouple", "image": "https://res.cloudinary.com/threender/...", "online": false, "last_active": "2026-01-24T04:47:42.919914Z", "profileStatus": "active", "profileIsIncognito": true }, "attachments": [], "created_at": "2025-11-20T14:42:24.409Z", "status": "received" }, "streamChannelId": "461b5f51-e3cb-4942-ac5c-43b213586c0b", "targetProfileId": "profile#6e25bfee-4a2b-58ac-8eb4-d5e9ed37a195", "targetProfile": { "isVerified": false, "isMajestic": true, "gender": "WOMAN", "age": 46, "sexuality": "BISEXUAL", "__typename": "TargetProfileData" }, "enableChatContentModeration": false, "participationStatus": "APPROVED", "participationType": "OWNER", "__typename": "ChatSummary" } }, "extensions": { "requestId": "a353d72b-7bcc-4230-bad7-996b780d0eb4" } } ``` **Chat Types**: `PRIVATE`, `GROUP` **Participation Status**: `APPROVED`, `PENDING` **Participation Type**: `OWNER`, `MEMBER` --- ## WebSocket Subscription **Type**: WebSocket **Endpoint**: `wss://core.api.fldcore.com/subscription` **Protocol**: `graphql-transport-ws` **Description**: Real-time subscription endpoint for receiving live updates (new messages, matches, etc.) ### Connection Headers ``` Host: core.api.fldcore.com Sec-WebSocket-Protocol: graphql-transport-ws Sec-WebSocket-Version: 13 Upgrade: websocket Origin: https://core.api.fldcore.com User-Agent: feeld-mobile Connection: Upgrade ``` ### Response (Upgrade) ``` HTTP/1.1 101 Switching Protocols Connection: upgrade Upgrade: websocket Sec-WebSocket-Accept: m1fOIw/SYctjidEI0Uj3wopY704= Sec-WebSocket-Protocol: graphql-transport-ws ``` **Note**: After connection, use `graphql-transport-ws` protocol for subscription messages. --- ## ChatAttachment CDN **Type**: REST API **Endpoint**: `GET /v1/cdn/chat-attachment/{profileId}/{attachmentId}` **Method**: `GET` **Description**: Get signed Cloudinary URL for chat attachment (full size). ### URL Pattern ``` https://core.api.fldcore.com/v1/cdn/chat-attachment/{profileId}/{attachmentId} ``` ### Example ``` GET /v1/cdn/chat-attachment/73b79341-5ff8-411c-806f-5b25cb834471/b266b78f-526e-4ab9-be55-3393807f7519 ``` ### Response Headers ``` Content-Type: text/plain; charset=utf-8 x-attachment-is-safe: true x-server-time: 1769255416509 ``` ### Response Body ``` https://res.cloudinary.com/threender/7e1e9b8c-ffa4-47be-9af0-f1a9a32a3e87?__cld_token__=exp=1769341817~hmac=c39bd1b461674... ``` --- ## ChatAttachment Thumbnail **Type**: REST API **Endpoint**: `GET /v1/cdn/chat-attachment/{profileId}/{attachmentId}/thumb` **Method**: `GET` **Description**: Get signed Cloudinary URL for chat attachment thumbnail. ### URL Pattern ``` https://core.api.fldcore.com/v1/cdn/chat-attachment/{profileId}/{attachmentId}/thumb ``` ### Example ``` GET /v1/cdn/chat-attachment/73b79341-5ff8-411c-806f-5b25cb834471/b266b78f-526e-4ab9-be55-3393807f7519/thumb ``` ### Response Headers ``` Content-Type: text/plain; charset=utf-8 x-attachment-is-safe: true x-server-time: 1769255416566 ``` ### Response Body ``` https://res.cloudinary.com/threender/c_thumb/7e1e9b8c-ffa4-47be-9af0-f1a9a32a3e87?__cld_token__=exp=1769341817~hmac=e9eb594a1114... ``` ---