# 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 <firebase_jwt_token>
x-profile-id: profile#<uuid>
x-app-version: 8.7.8
x-device-os: ios
x-os-version: 18.6.2
Content-Type: application/json
x-transaction-id: <uuid>
x-event-analytics-id: <uuid>
```

---

## 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==; ",
    "deviceDetails": "eyJ2ZXJzaW9uIjoxLCJkZXZpY2VJZCI6ImlQaG9uZTE0LDQiLCJkZXZpY2VNb2RlbCI6ImlQaG9uZSAxMyBtaW5pIiwiZGV2aWNlTWFudWZhY3R1cmVyIjoiQXBwbGUiLCJkZXZpY2VUeXBlIjoiSGFuZHNldCIsInN5c3RlbU5hbWUiOiJpT1MiLCJzeXN0ZW1WZXJzaW9uIjoiMTguNi4yIiwic2NyZWVuU2l6ZSI6IjM3NXg4MTIiLCJwaXhlbERlbnNpdHkiOjMsImlzSmFpbEJyb2tlbiI6ZmFsc2UsImlzRW11bGF0b3IiOmZhbHNlLCJpc0hvb2tlZCI6ZmFsc2UsImlzRGVidWdnZWRNb2RlIjpmYWxzZSwiY2FuTW9ja0xvY2F0aW9uIjpmYWxzZSwiaXNPbkV4dGVybmFsU3RvcmFnZSI6ZmFsc2UsImlzRGV2ZWxvcG1lbnRNb2RlIjpmYWxzZX0=",
    "appCheckToken": "eyJraWQiOiJ2ckU4dWciLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxOjU5NDE1Mjc2MTYwMzppb3M6ZjUyY2YxNWVmZmY4Mjc4NjFiMjEzNiIsImF1ZCI6WyJwcm9qZWN0cy81OTQxNTI3NjE2MDMiLCJwcm9qZWN0cy9mMi1wcm9kLTUzNDc1Il0sInByb3ZpZGVyIjoiZGV2aWNlX2NoZWNrX2FwcF9hdHRlc3QiLCJpc3MiOiJodHRwczovL2ZpcmViYXNlYXBwY2hlY2suZ29vZ2xlYXBpcy5jb20vNTk0MTUyNzYxNjAzIiwiZXhwIjoxNzY5MjU3ODExLCJpYXQiOjE3NjkyNTQyMTEsImp0aSI6IlE5VnBxZDFEZmVOYXR4QUtMRU5TTGdjYWV0cC1HREtqMWRvVXhWcE5GR2cifQ. ",
    "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==; ",
    "deviceDetails": "eyJ2ZXJzaW9uIjoxLCJkZXZpY2VJZCI6ImlQaG9uZTE0LDQiLCJkZXZpY2VNb2RlbCI6ImlQaG9uZSAxMyBtaW5pIiwiZGV2aWNlTWFudWZhY3R1cmVyIjoiQXBwbGUiLCJkZXZpY2VUeXBlIjoiSGFuZHNldCIsInN5c3RlbU5hbWUiOiJpT1MiLCJzeXN0ZW1WZXJzaW9uIjoiMTguNi4yIiwic2NyZWVuU2l6ZSI6IjM3NXg4MTIiLCJwaXhlbERlbnNpdHkiOjMsImlzSmFpbEJyb2tlbiI6ZmFsc2UsImlzRW11bGF0b3IiOmZhbHNlLCJpc0hvb2tlZCI6ZmFsc2UsImlzRGVidWdnZWRNb2RlIjpmYWxzZSwiY2FuTW9ja0xvY2F0aW9uIjpmYWxzZSwiaXNPbkV4dGVybmFsU3RvcmFnZSI6ZmFsc2UsImlzRGV2ZWxvcG1lbnRNb2RlIjpmYWxzZX0=",
    "appCheckToken": "eyJraWQiOiJ2ckU4dWciLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxOjU5NDE1Mjc2MTYwMzppb3M6ZjUyY2YxNWVmZmY4Mjc4NjFiMjEzNiIsImF1ZCI6WyJwcm9qZWN0cy81OTQxNTI3NjE2MDMiLCJwcm9qZWN0cy9mMi1wcm9kLTUzNDc1Il0sInByb3ZpZGVyIjoiZGV2aWNlX2NoZWNrX2FwcF9hdHRlc3QiLCJpc3MiOiJodHRwczovL2ZpcmViYXNlYXBwY2hlY2suZ29vZ2xlYXBpcy5jb20vNTk0MTUyNzYxNjAzIiwiZXhwIjoxNzY5MjU3ODExLCJpYXQiOjE3NjkyNTQyMTEsImp0aSI6IlE5VnBxZDFEZmVOYXR4QUtMRU5TTGdjYWV0cC1HREtqMWRvVXhWcE5GR2cifQ. ",
    "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. .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. .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": "<p>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</p>\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": "<p>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</p>\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": "<p>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</p>\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": "<p>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</p>\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": "<p>Hi. So sorry...</p>\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...
```

---

