---
title: "List moderators of a community"
method: GET
path: "/x/communities/{id}/moderators"
tags: ["Communities"]
---

# List moderators of a community

`GET /x/communities/{id}/moderators`

## Path parameters

- `id` string, required

## Query parameters

- `cursor` string

## Response `200`

List of community moderators

- PaginatedUsers — Paginated user profiles. The item count can be lower than pageSize when the source returns fewer profiles or remaining credits cover fewer results. Follow next_cursor while has_next_page is true. A relationship can naturally contain fewer profiles than requested. Zero affordable results returns 402 insufficient_credits.
  - `users` UserProfile[], required
    - `id` string, required
    - `username` string, required
    - `name` string, required
    - `description` string
    - `followers` integer
    - `following` integer
    - `verified` boolean
    - `isBlueVerified` boolean — Whether X shows a blue verification badge
    - `isVerified` boolean — Whether X marks the profile as verified
    - `profilePicture` string
    - `coverPicture` string
    - `profileBannerUrl` string — Original X profile banner field when available
    - `location` string
    - `createdAt` string
    - `statusesCount` integer
    - `mediaCount` integer
    - `protected` boolean — Whether the profile protects its posts
    - `url` string
    - `favouritesCount` integer
    - `hasCustomTimelines` boolean
    - `isTranslator` boolean
    - `withheldInCountries` string[]
    - `possiblySensitive` boolean
    - `pinnedTweetIds` string[]
    - `isAutomated` boolean
    - `automatedBy` string
    - `unavailable` boolean
    - `unavailableReason` string
    - `verifiedType` string
    - `affiliatesHighlightedLabel` UserAffiliateLabel — Organization affiliation label shown on an X profile.
      - `badgeUrl` string
      - `description` string
      - `url` string
      - `urlType` string
      - `userLabelDisplayType` string
      - `userLabelType` string
    - `businessAccountAffiliatesCount` integer
    - `creatorSubscriptionsCount` integer
    - `hasGraduatedAccess` boolean
    - `hasHiddenSubscriptionsOnProfile` boolean
    - `highlightsInfo` UserHighlightsInfo — Profile highlight availability and count metadata.
      - `canHighlightTweets` boolean
      - `highlightedTweets` string
    - `identityVerification` UserIdentityVerification — Identity verification metadata displayed by X.
      - `description` string
      - `isIdentityVerified` boolean
      - `verifiedSinceMsec` string
    - `isProfileTranslatable` boolean
    - `parodyCommentaryFanLabel` string
    - `profileDescriptionLanguage` string
    - `profileImageShape` string
    - `profileInterstitialType` string
    - `profileSortEnabled` boolean
    - `profileTranslatorType` string
    - `superFollowEligible` boolean
    - `communityRole` string — Community role when returned by community member reads
    - `profile_bio` object — Structured profile bio with entity annotations
  - `has_next_page` boolean, required
  - `next_cursor` string, required

## Other responses

- `400` — Invalid input
- `401` — Authentication required for a non-MPP paid read. The Bearer challenge requests authentication and is not a Payment challenge. Requests without credentials advertise accountless Stripe checkout, but create no checkout. Explicit invalid credentials return the plain error shape. Call an advertised action only after explicit user confirmation.
- `402` — Payment required. Fixed-price direct MPP requests return a Machine Payments Protocol problem document and a WWW-Authenticate challenge. Authenticated X data requests return balances and explicit Stripe checkout-creation actions. Guest paid-read keys receive only the accountless guest top-up action. Direct MPP challenges also advertise the Stripe wallet action. Other authenticated endpoints return a legacy error shape. A failed request never creates checkout. Create checkout only after the user confirms a payment option.
- `404` — Not found
- `424` — Dependency unavailable, unauthorized, or rate limited. Default v1 returns 502. The best-practice response contract returns 424 for transparent dependency failures.
- `429` — Xquik tier rate limit exceeded. The response includes a `Retry-After` header with the number of seconds to wait before retrying.
- `502` — Dependency unavailable, unauthorized, or rate limited. Default v1 returns 502. The best-practice response contract returns 424 for transparent dependency failures.

---

[API](https://skmtc.net/xquik-dev/apis/xquik-api-3.md) · [All operations](https://skmtc.net/xquik-dev/apis/xquik-api-3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xquik-dev/xquik-api-3/versions/00d8449a6cc1/schema)
