Skip to main content
This guide covers the key concepts you need to integrate the mutes endpoints into your application.

Authentication

Mutes endpoints require user authentication to access private mute lists:
MethodDescription
OAuth 2.0 Authorization Code with PKCERecommended for new applications
OAuth 1.0a User ContextLegacy support
App-Only authentication is not supported. You must authenticate on behalf of a user.

Required scopes (OAuth 2.0)

ScopeRequired for
mute.readRetrieving muted accounts
mute.writeMuting and unmuting accounts
users.readRequired with mute scopes

Endpoints overview

MethodEndpointDescription
GET/2/users/:id/mutingGet list of muted accounts
POST/2/users/:id/mutingMute an account
DELETE/2/users/:source_user_id/muting/:target_user_idUnmute an account

Fields and expansions

Default response

{
  "data": [
    {
      "id": "1234567890",
      "name": "Example User",
      "username": "example"
    }
  ]
}

Available fields

FieldDescription
created_atAccount creation date
descriptionUser bio
profile_image_urlAvatar URL
public_metricsFollower/following counts
verifiedVerification status
ExpansionDescription
pinned_tweet_idUser’s pinned Post

Example with fields

cURL
curl "https://api.x.com/2/users/123456789/muting?\
user.fields=username,verified,created_at&\
max_results=100" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

Pagination

For users with large mute lists, results are paginated:
cURL
# First request
curl "https://api.x.com/2/users/123/muting?max_results=100" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

# Subsequent request with pagination token
curl "https://api.x.com/2/users/123/muting?max_results=100&pagination_token=NEXT_TOKEN" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

Pagination guide

Learn more about pagination

Behavior differences

Muting vs Blocking

FeatureMuteBlock
See their PostsNo (hidden)No
They see your PostsYesNo
They follow youYes (can follow)No (removed)
They can DM youYesNo
Notification sentNoNo
Muting is private — the muted user is not notified and cannot tell they’ve been muted.

Error handling

StatusErrorSolution
400Invalid requestCheck user ID format
401UnauthorizedVerify access token
403ForbiddenCheck scopes and permissions
404Not FoundUser doesn’t exist
429Too Many RequestsWait and retry

Next steps