> ## Documentation Index
> Fetch the complete documentation index at: https://social-b97141fb-auto-generate-llmstxt.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# User Relationship

> SDK overview for follow, unfollow, follow requests, follower lists, and blocking.

User relationship APIs let a signed-in user build and manage their social graph. Use them for follow/unfollow actions, incoming follow requests, follower and following lists, follow counts, and blocked-user management.

<Tip>
  For an end-to-end product walkthrough, see [User Profiles & Social Graph](/use-cases/social/user-profiles-and-social-graph). This section focuses on SDK calls and return shapes.
</Tip>

## Relationship Systems

| System    | What it manages                                                                                                                           | Main SDK surface                                                                                                     |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Following | Follow requests, accepted follows, pending requests, follower/following lists, and follow counts                                          | `UserRepository.Relationship` on TypeScript, `relationship()` on Android and Flutter, `AmityUserRelationship` on iOS |
| Blocking  | Block/unblock actions, the current user's blocked-user list, and — in the reverse direction — the users who have blocked the current user | Relationship block APIs plus `getBlockedUsers()` / `getBlockingUsers()` on the user repository                       |

Follow status values are platform-specific enum or string values, but the shared meanings are:

| Status     | Meaning                                           |
| ---------- | ------------------------------------------------- |
| `none`     | No active follow relationship                     |
| `pending`  | A follow request exists and is waiting for action |
| `accepted` | The follow relationship is active                 |
| `blocked`  | The relationship is blocked                       |

<Info>
  Whether a follow becomes `accepted` immediately or starts as `pending` is determined by your network's follow configuration. The same SDK follow call is used in both cases.
</Info>

## Platform Coverage

| Capability                                                   | TypeScript | iOS | Android | Flutter                                        |
| ------------------------------------------------------------ | ---------- | --- | ------- | ---------------------------------------------- |
| Follow and unfollow                                          | Yes        | Yes | Yes     | Yes                                            |
| Accept and decline incoming follow requests                  | Yes        | Yes | Yes     | Yes                                            |
| Get current user's follow counts                             | Yes        | Yes | Yes     | Yes                                            |
| Get another user's follow counts and status                  | Yes        | Yes | Yes     | Yes                                            |
| Query followers and following                                | Yes        | Yes | Yes     | Yes                                            |
| Block and unblock users                                      | Yes        | Yes | Yes     | Yes                                            |
| Query paginated blocked users                                | Yes        | Yes | Yes     | Yes                                            |
| Get all blocked users as a one-shot list                     | Yes        | Yes | Yes     | Not available in the Flutter public repository |
| Query users who blocked the current user (reverse direction) | Yes        | Yes | Yes     | Not available in the current Flutter SDK       |

## Use The Right Read API

Use the live or paginated APIs for user-facing screens:

* Follow info: profile headers, follow buttons, counters, and relationship badges.
* Follower/following lists: people lists with pagination and refresh behavior.
* Blocked users: a settings screen where users can review and unblock accounts.

Use `getAllBlockedUsers()` only when you need a one-shot block list for local decisions. It returns up to 100 blocked users on TypeScript, iOS, and Android, and the SDK caches the result briefly.

<Warning>
  Do not rely on this overview for feed visibility, search visibility, comment permissions, or other product policy details. Those behaviors can depend on backend configuration and feature area. Handle SDK errors from the affected feature API and keep the UI state in sync with relationship status.
</Warning>

## Related Guides

<CardGroup cols={2}>
  <Card title="Follow/Unfollow User" href="./following/follow-unfollow-user" icon="user-plus">
    Create or remove a follow relationship.
  </Card>

  <Card title="Accept/Decline Follow Request" href="./following/accept-decline-follow-request" icon="handshake">
    Approve or reject incoming follow requests.
  </Card>

  <Card title="Get Connection Status" href="./following/get-connection-status" icon="signal">
    Read follow status and follow counts.
  </Card>

  <Card title="Get Follower/Following List" href="./following/get-follower-following-list" icon="list">
    Query paginated relationship lists.
  </Card>

  <Card title="Block & Unblock User" href="./blocking/block-unblock-user" icon="ban">
    Block or unblock another user.
  </Card>

  <Card title="Manage Blocked Users" href="./blocking/manage-blocked-users" icon="list">
    Query the current user's blocked-user list.
  </Card>

  <Card title="Users Who Blocked You" href="./blocking/manage-blocking-users" icon="user-slash">
    Query the reverse direction — users who blocked you.
  </Card>
</CardGroup>
